0. 다운로드
http://logging.apache.org/log4net/download.html
1. log4net.dll 참조
2. app.config 설정
App 인경우 console or file mode
서비스중인경우 database mode로 세팅하면 좋을듯
1: <?xml version="1.0" encoding="utf-8" ?>
2: <configuration>
3: <configSections>
4: <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
5: </configSections>
6: 7: <log4net>
8: <appender name="Console" type="log4net.Appender.ConsoleAppender">
9: <layout type="log4net.Layout.PatternLayout">
10: <conversionPattern value="%d [%t] %-5p %c.%M - %m%n" />
11: </layout>
12: </appender>
13: 14: <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
15: <file value="../../../logs/log.txt" />
16: <appendToFile value="true" />
17: <rollingStyle value="Size" />
18: <maxSizeRollBackups value="3" />
19: <maximumFileSize value="100KB" />
20: <staticLogFileName value="true" />
21: <layout type="log4net.Layout.PatternLayout">
22: <conversionPattern value="%d [%t] %-5p %c.%M - %m%n" />
23: </layout>
24: </appender>
25: 26: <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
27: <bufferSize value="1" />
28: <connectionType value="System.Data.SqlClient.SqlConnection, System.Data , Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
29: <connectionString value="server=192.168.0.100;database=fundstore;user id=sa;password=zhemfjtnl!1" />
30: <commandText value="INSERT INTO [Log4net] ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
31: <parameter>
32: <parameterName value="@log_date" />
33: <dbType value="DateTime" />
34: <layout type="log4net.Layout.RawTimeStampLayout" />
35: </parameter>
36: <parameter>
37: <parameterName value="@thread" />
38: <dbType value="String" />
39: <size value="255" />
40: <layout type="log4net.Layout.PatternLayout">
41: <conversionPattern value="%thread" />
42: </layout>
43: </parameter>
44: <parameter>
45: <parameterName value="@log_level" />
46: <dbType value="String" />
47: <size value="50" />
48: <layout type="log4net.Layout.PatternLayout">
49: <conversionPattern value="%level" />
50: </layout>
51: </parameter>
52: <parameter>
53: <parameterName value="@logger" />
54: <dbType value="String" />
55: <size value="255" />
56: <layout type="log4net.Layout.PatternLayout">
57: <conversionPattern value="%logger" />
58: </layout>
59: </parameter>
60: <parameter>
61: <parameterName value="@message" />
62: <dbType value="String" />
63: <size value="4000" />
64: <layout type="log4net.Layout.PatternLayout">
65: <conversionPattern value="%message" />
66: </layout>
67: </parameter>
68: <parameter>
69: <parameterName value="@exception" />
70: <dbType value="String" />
71: <size value="2000" />
72: <layout type="log4net.Layout.ExceptionLayout" />
73: </parameter>
74: </appender>
75: 76: 77: <root>
78: <level value="DEBUG" />
79: <appender-ref ref="RollingFileAppender"/>
80: <appender-ref ref="Console"/>
81: <!--appender-ref ref="AdoNetAppender" /-->
82: </root>
83: </log4net>
84: </configuration>
3. 초기화
app 인경우 program.cs 에 web 인경우 global application_start 쯤에
다음코드를 넣는다.
1: using log4net.Config;
2: 3: static class Program {
4: [STAThread]5: static void Main() {
6: XmlConfigurator.Configure();
3-1. instance
1: using log4net;
2: 3: public class Test {
4: private ILog log = LogManager.GetLogger(typeof(Test));
* log4net 을 참조하고 빌드하면,
5메가짜리 System.Web.dll 과 1메가짜리 log4net.xml 이 같이 생성된다.
WM에서는 무시할수 없는 크기인듯....
