<?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&quot;.log&quot;" />
      
      <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>