<?xml version="1.0" encoding="utf-8"?>
<log4net>

  <!--定义输出到文件中-->
  <appender name="InLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <!--定义文件存放位置-->
    <file value="E:\source\log_LED\LED_log" />
    <appendToFile value="true" />
    <param name="StaticLogFileName" value="false" />
    <param name="RollingStyle" value="Date" />
    <!-- 每个文件的大小 或者按照日期分割,或者按照大小分割不能同时 -->
    <!--<param name="MaximumFileSize" value="1KB" />-->

    <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
    <!--<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" />-->
      <conversionPattern value="[%date] [%thread] [%-5level]  [%message]%newline" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
      <param name="LevelMin" value="ERROR"/>
      <param name="LevelMax" value="ERROR"/>
    </filter>
  </appender>


  <appender name="OutLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <!--定义文件存放位置-->
    <file value="E:\source\log\Out_ToSG186_" />
    <appendToFile value="true" />
    <param name="StaticLogFileName" value="false" />
    <param name="RollingStyle" value="Date" />
    <!--设置无限备份=-1 ,最大备份数为1000-->
    <!--<maxSizeRollBackups value="5"/>-->

    <!--每个文件的最大20k-->
    <!--<maximumFileSize value="2"/>-->
    <!--<param name="RollingStyle" value="Composite" />-->

    <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
    <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" />-->
      <conversionPattern value="[%date] [%thread] [%-5level]  [%message]%newline" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
      <param name="LevelMin" value="WARN"/>
      <param name="LevelMax" value="WARN"/>
    </filter>
  </appender>

  <appender name="DebugLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <!--定义文件存放位置-->
    <file value="E:\source\log_Debug\Debug_" />
    <appendToFile value="true" />
    <param name="StaticLogFileName" value="false" />
    <param name="RollingStyle" value="Date" />
    <!--设置无限备份=-1 ,最大备份数为1000-->
    <!--<maxSizeRollBackups value="5"/>-->

    <!--每个文件的最大20k-->
    <!--<maximumFileSize value="2"/>-->
    <!--<param name="RollingStyle" value="Composite" />-->

    <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
    <!--<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" />-->
      <conversionPattern value="[%date] [%thread] [%-5level]  [%message]%newline" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
      <param name="LevelMin" value="DEBUG"/>
      <param name="LevelMax" value="DEBUG"/>
    </filter>
  </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>

  <!--定义输出到数据库中,这里举例输出到Access数据库中,数据库为C盘的log4net.mdb-->
  <appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">
    <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:log4net.mdb" />
    <commandText value="INSERT INTO LogDetails ([LogDate],[Thread],[Level],[Logger],[Message]) VALUES (@logDate, @thread, @logLevel, @logger,@message)" />
    <!--定义各个参数-->
    <parameter>
      <parameterName value="@logDate" />
      <dbType value="String" />
      <size value="240" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@thread" />
      <dbType value="String" />
      <size value="240" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%thread" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@logLevel" />
      <dbType value="String" />
      <size value="240" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%level" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@logger" />
      <dbType value="String" />
      <size value="240" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%logger" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@message" />
      <dbType value="String" />
      <size value="240" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%message" />
      </layout>
    </parameter>
  </appender>

  <!--定义输出到数据库中,这里举例输出到SQL SERVER数据库中,数据库为SSLMS_QHEP-->
  <appender xmlns="" name="ADONetAppender_SqlServer"  type="log4net.Appender.AdoNetAppender">

    <bufferSize value="100" />

    <connectionType value="System.Data.SqlClient.SqlConnection, System.Data,System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

    <connectionString value="server=IBM;database=SSLMS_QHEP;user id=sa;password=123456"/>

    <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="DateTime" />

      <layout type="log4net.Layout.RawTimeStampLayout" />

    </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>

    <parameter>

      <parameterName value="@exception" />

      <dbType value="String" />

      <size value="2000" />

      <layout type="log4net.Layout.ExceptionLayout" />

    </parameter>



  </appender>


  <!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。-->

  <root>
    <!--文件形式记录日志-->
    <appender-ref ref="InLogFileAppender" />
    <!--<appender-ref ref="OutLogFileAppender" />-->
    <!--<appender-ref ref="DebugLogFileAppender" />-->
    <!--控制台控制显示日志-->
    <!--<appender-ref ref="ConsoleAppender" />-->
    <!--Windows事件日志-->
    <!--<appender-ref ref="EventLogAppender" />-->
    <!-- 数据库 -->
    <!--<appender-ref ref="ADONetAppender_SqlServer" />-->
  </root>
  <!--<logger name="SiaSun.LMS.Implement.S_BaseService">
       <level value="DEBUG" />
    </logger>-->

</log4net>