配置文件
1<?xml version="1.0" encoding="utf-8" ?>
2<configuration>
3<!-- Register a section handler for the log4net section -->
4 <configSections>
5 <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
6 </configSections>
7 <appSettings>
8 <!-- To enable internal log4net logging specify the following appSettings key -->
9 <!-- <add key="log4net.Internal.Debug" value="true"/> --></appSettings>
10 <!-- This section contains the log4net configuration settings -->
11 <log4net>
12 <!--定义输出到文件中-->
13 <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
14 <!--定义文件存放位置-->
15 <file value="D:\log-file1.txt" />
16 <!-- Example using environment variables in params -->
17 <!-- <file value="${TMP}\log-file.txt" /> -->
18 <!--<sppendToFile value="true" />-->
19 <!-- An alternate output encoding can be specified -->
20 <!-- <encoding value="unicodeFFFE" /> -->
21 <layout type="log4net.Layout.PatternLayout">
22 <!--每条日志末尾的文字说明-->
23 <footer value="[Footer]--Test By Ring1981 " />
24 <!--输出格式-->
25 <conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline" />
26 </layout>
27 </appender>
28 <!--定义输出到控制台命令行中-->
29 <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
30 <layout type="log4net.Layout.PatternLayout">
31 <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
32 </layout>
33 </appender>
34 <!--定义输出到windows事件中-->
35 <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
36 <layout type="log4net.Layout.PatternLayout">
37 <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
38 </layout>
39 </appender>
40 <!--定义输出到数据库中,这里举例输出到Access数据库中,数据库为D盘的access.mdb-->
41 <appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">
42 <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\access.mdb" />
43 <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
44 <!--定义各个参数-->
45 <parameter>
46 <parameterName value="@log_date" />
47 <dbType value="String" />
48 <size value="255" />
49 <layout type="log4net.Layout.PatternLayout">
50 <conversionPattern value="%date" />
51 </layout>
52 </parameter>
53 <parameter>
54 <parameterName value="@thread" />
55 <dbType value="String" />
56 <size value="255" />
57 <layout type="log4net.Layout.PatternLayout">
58 <conversionPattern value="%thread" />
59 </layout>
60 </parameter>
61 <parameter>
62 <parameterName value="@log_level" />
63 <dbType value="String" />
64 <size value="50" />
65 <layout type="log4net.Layout.PatternLayout">
66 <conversionPattern value="%level" />
67 </layout>
68 </parameter>
69 <parameter>
70 <parameterName value="@logger" />
71 <dbType value="String" />
72 <size value="255" />
73 <layout type="log4net.Layout.PatternLayout">
74 <conversionPattern value="%logger" />
75 </layout>
76 </parameter>
77 <parameter>
78 <parameterName value="@message" />
79 <dbType value="String" />
80 <size value="1024" />
81 <layout type="log4net.Layout.PatternLayout">
82 <conversionPattern value="%message" />
83 </layout>
84 </parameter>
85 </appender>
86 <!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。-->
87 <root>
88 <appender-ref ref="LogFileAppender" />
89 <appender-ref ref="ConsoleAppender" />
90 <appender-ref ref="EventLogAppender" />
91 <appender-ref ref="AdoNetAppender_Access" />
92 </root>
93 </log4net>
94</configuration>
2<configuration>
3<!-- Register a section handler for the log4net section -->
4 <configSections>
5 <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
6 </configSections>
7 <appSettings>
8 <!-- To enable internal log4net logging specify the following appSettings key -->
9 <!-- <add key="log4net.Internal.Debug" value="true"/> --></appSettings>
10 <!-- This section contains the log4net configuration settings -->
11 <log4net>
12 <!--定义输出到文件中-->
13 <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
14 <!--定义文件存放位置-->
15 <file value="D:\log-file1.txt" />
16 <!-- Example using environment variables in params -->
17 <!-- <file value="${TMP}\log-file.txt" /> -->
18 <!--<sppendToFile value="true" />-->
19 <!-- An alternate output encoding can be specified -->
20 <!-- <encoding value="unicodeFFFE" /> -->
21 <layout type="log4net.Layout.PatternLayout">
22 <!--每条日志末尾的文字说明-->
23 <footer value="[Footer]--Test By Ring1981 " />
24 <!--输出格式-->
25 <conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline" />
26 </layout>
27 </appender>
28 <!--定义输出到控制台命令行中-->
29 <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
30 <layout type="log4net.Layout.PatternLayout">
31 <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
32 </layout>
33 </appender>
34 <!--定义输出到windows事件中-->
35 <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
36 <layout type="log4net.Layout.PatternLayout">
37 <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
38 </layout>
39 </appender>
40 <!--定义输出到数据库中,这里举例输出到Access数据库中,数据库为D盘的access.mdb-->
41 <appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">
42 <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\access.mdb" />
43 <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
44 <!--定义各个参数-->
45 <parameter>
46 <parameterName value="@log_date" />
47 <dbType value="String" />
48 <size value="255" />
49 <layout type="log4net.Layout.PatternLayout">
50 <conversionPattern value="%date" />
51 </layout>
52 </parameter>
53 <parameter>
54 <parameterName value="@thread" />
55 <dbType value="String" />
56 <size value="255" />
57 <layout type="log4net.Layout.PatternLayout">
58 <conversionPattern value="%thread" />
59 </layout>
60 </parameter>
61 <parameter>
62 <parameterName value="@log_level" />
63 <dbType value="String" />
64 <size value="50" />
65 <layout type="log4net.Layout.PatternLayout">
66 <conversionPattern value="%level" />
67 </layout>
68 </parameter>
69 <parameter>
70 <parameterName value="@logger" />
71 <dbType value="String" />
72 <size value="255" />
73 <layout type="log4net.Layout.PatternLayout">
74 <conversionPattern value="%logger" />
75 </layout>
76 </parameter>
77 <parameter>
78 <parameterName value="@message" />
79 <dbType value="String" />
80 <size value="1024" />
81 <layout type="log4net.Layout.PatternLayout">
82 <conversionPattern value="%message" />
83 </layout>
84 </parameter>
85 </appender>
86 <!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。-->
87 <root>
88 <appender-ref ref="LogFileAppender" />
89 <appender-ref ref="ConsoleAppender" />
90 <appender-ref ref="EventLogAppender" />
91 <appender-ref ref="AdoNetAppender_Access" />
92 </root>
93 </log4net>
94</configuration>
%m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息
%n(new line):换行
%d(datetime):输出当前语句运行的时刻
%r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数
%t(thread id):当前语句所在的线程ID
%p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等
%c(class):当前日志对象的名称
%L:输出语句所在的行号
%F:输出语句所在的文件名
%-数字:表示该项的最小长度,如果不够,则用空格填充
log4net核心结构