C#log4不同级别输出到不同文件或数据库

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <!--<configSections>  
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>  
  </configSections>-->


  <log4net debug="false">


    <!--ERROR级别输出到文件-->
    <!--输出到文件-->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="ERROR" />
        <param name="LevelMax" value="ERROR" />
      </filter>
      <!--日志缓存写入条数-->
      <bufferSize value="1" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <!--<layout type="log4net.Layout.PatternLayout">-->
      <param name="File" value="App_Data/" />
      <!--<param name="AppendToFile" value="true" />-->
      <param name="MaxSizeRollBackups" value="-1" />
      <!--<param name="MaximumFileSize" value="2 kb" />  
      <param name="RollingStyle" value="Size" />-->
      <param name="StaticLogFileName" value="false" />
      <datePattern value="&quot;Log_ERROR/Logs_&quot;yyyyMMdd/yyyy_MM_dd_HH&quot;.txt&quot;" />
      <!--<param name="DatePattern" value="&quot;yyyy_MM_dd/Logs_&quot;yyyy_MM_dd_hh&quot;.txt&quot;" />-->
      <layout type="log4net.Layout.PatternLayout">
        <!--<param name="记录时间:%date 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline" />-->
        <!--<param name="ConversionPattern" value="记录时间:%date 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline" />-->
        <param name="ConversionPattern" value="【%date】%n消息级别:%-5level  %message%newline" />
      </layout>
    </appender>




    <!--debug级别输出到文件-->
    <appender name="RollingLogDEBUGFileAppender" type="log4net.Appender.RollingFileAppender" >
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="DEBUG" />
        <param name="LevelMax" value="DEBUG" />
      </filter>
      <!--日志缓存写入条数-->
      <!--<bufferSize value="1" />-->
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <!--<layout type="log4net.Layout.PatternLayout">-->
      <param name="File" value="App_Data/" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="-1" />
      <!--<param name="MaximumFileSize" value="2 kb" />  
      <param name="RollingStyle" value="Size" />-->
      <param name="StaticLogFileName" value="false" />
      <datePattern value="&quot;Log_DEBUG/Logs&quot;_yyyyMMdd/yyyy_MM_dd_HH&quot;.txt&quot;" />
      <!--<param name="DatePattern" value="&quot;yyyy_MM_dd/Logs_&quot;yyyy_MM_dd_hh&quot;.txt&quot;" />-->
      <layout type="log4net.Layout.PatternLayout">
        <!--<param name="记录时间:%date 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline" />-->
        <!--<param name="ConversionPattern" value="记录时间:%date 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline" />-->
        <param name="ConversionPattern" value="【%date】%n消息级别:%-5level  %message%newline" />
      </layout>
    </appender>


    
    <!--输出到数据库-->
    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
      <bufferSize value="0" />
      <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      <connectionString value="Data Source=localhost\SQLEXPRESS2012;Initial Catalog=WaterMgr;Persist Security Info=True;User ID=test;Password=test" />
      <commandText value="INSERT INTO Log4Net_Error ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
      <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>


    <!-- Setup the root category, add the appenders and set the default priority -->
    <root>
      <level value="ALL" />
      <appender-ref ref="RollingLogFileAppender" />
      <appender-ref ref="RollingLogDEBUGFileAppender" />
      <!--<appender-ref ref="RemotingAppender" /> -->
    </root>
    
  </log4net>
</configuration>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值