<?xml version="1.0" encoding="utf-8"?> <log4net> <!--定义输出到文件中--> <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> <!--定义文件存放位置--> <!--<file value="log.xml" />--> <file value="log\" /> <appendToFile value="true" /> <rollingStyle value="Date" /> <datePattern value="yyyy-MM-dd".log"" /> <staticLogFileName value="false" /> <!--<datePattern value="yyyyMMdd-HH:mm:ss" />--> <!--<layout type="log4net.Layout.PatternLayout">--> <layout type="log4net.Layout.XmlLayout"> <!--每条日志末尾的文字说明--> <footer value="" /> <!--输出格式--> <!--样例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info--> <conversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline" /> </layout> </appender> <!--定义输出到控制台命令行中--> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> <!--定义输出到windows事件中--> <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> <!--定义输出到数据库中,这里举例输出到oracle数据库中,数据库为ORCL modify by 2011-09-07--> <appender xmlns="" name="AdoNetAppender_Oracle" type="log4net.Appender.AdoNetAppender"> <connectionType value="System.Data.OracleClient, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <connectionString value="data source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = weiyu)(PORT = 1521))(ADDRESS =(PROTOCOL = TCP)(HOST = weiyu)(PORT = 1521))(FAILOVER = ON) (LOAD_BALANCE = OFF))(CONNECT_DATA =(SERVER = weiyu)(SERVICE_NAME = ORCL)));User ID=SA;Password=1;Unicode=true;Max Pool Size=10;Min Pool Size=5;Pooling=true;"/> <commandText value="INSERT INTO SYS_Log ([log_Date],[log_Thread],[log_Level],[log_Logger],[log_Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" /> <!--定义各个参数--> <parameter> <parameterName value="@log_date" /> <dbType value="Date" /> <layout type="log4net.Layout.PatternLayout"> <!--<conversionPattern value="%date" />--> </layout> </parameter> <parameter> <parameterName value="@thread" /> <dbType value="String" /> <size value="255" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%thread" /> </layout> </parameter> <parameter> <parameterName value="@log_level" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%level" /> </layout> </parameter> <parameter> <parameterName value="@logger" /> <dbType value="String" /> <size value="255" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%logger" /> </layout> </parameter> <parameter> <parameterName value="@message" /> <dbType value="String" /> <size value="4000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%message" /> </layout> </parameter> </appender> <!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。--> <root> <!--文件形式记录日志--> <appender-ref ref="LogFileAppender" /> <!--控制台控制显示日志--> <!--<appender-ref ref="ConsoleAppender" />--> <!--Windows事件日志--> <!--<appender-ref ref="EventLogAppender" />--> <!-- 数据库 --> <!--<appender-ref ref="AdoNetAppender_Access" />--> </root> </log4net>