Log4Net

当前项目自定义的配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  </configSections>
  <log4net>
    <root>
      <level value="ALL" />
      <appender-ref ref="InfoLogAppender" />
      <appender-ref ref="WarnLogAppender" />
      <appender-ref ref="ErrorLogAppender" />
    </root>
    
    <!--普通日志-->
    <appender name="InfoLogAppender" type="log4net.Appender.RollingFileAppender">
      <!--日志文件(按天生成,所以文件名在datePattern节点中)-->
      <file value="Logs\" />
      <!--是否追加到文件-->
      <appendToFile value="true" />
      <!--是否静态文件,当按天生成时为false,否则为true,当为true时rollingStyle节点与datePattern节点无效-->
      <param name="StaticLogFileName" value="false" />
      <!--时间格式-->
      <param name="DatePattern" value="yyyyMMdd&quot;_OperationReport.log&quot;" />
      <!--日志文件生成方式(根据天生成)-->
      <param name="RollingStyle" value="Date" />
      <!--设置日志生成的格式-->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%c %p] : %m%n" />
      </layout>
      <!--设置记录日志的级别-->
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="Debug" />
        <levelMax value="Info" />
      </filter>
    </appender>


    <!--警告日志-->
    <appender name="WarnLogAppender" type="log4net.Appender.RollingFileAppender">
      <!--日志文件(按天生成,所以文件名在datePattern节点中)-->
      <file value="Logs\" />
      <!--是否追加到文件-->
      <appendToFile value="true" />
      <!--是否静态文件,当按天生成时为false,否则为true,当为true时rollingStyle节点与datePattern节点无效-->
      <param name="StaticLogFileName" value="false" />
      <!--时间格式-->
      <param name="DatePattern" value="yyyyMMdd&quot;_WarningReport.log&quot;" />
      <!--日志文件生成方式(根据天生成)-->
      <param name="RollingStyle" value="Date" />
      <!--设置日志生成的格式-->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%c %p] : %m%n" />
      </layout>
      <!--设置记录日志的级别-->
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="Warn" />
        <levelMax value="Warn" />
      </filter>
    </appender>


    <!--错误日志-->
    <appender name="ErrorLogAppender" type="log4net.Appender.RollingFileAppender">
      <!--日志文件(按天生成,所以文件名在datePattern节点中)-->
      <file value="Logs\" />
      <!--是否追加到文件-->
      <appendToFile value="true" />
      <!--是否静态文件,当按天生成时为false,否则为true,当为true时rollingStyle节点与datePattern节点无效-->
      <param name="StaticLogFileName" value="false" />
      <!--时间格式-->
      <param name="DatePattern" value="yyyyMMdd&quot;_ExceptionReport.log&quot;" />
      <!--日志文件生成方式(根据天生成)-->
      <param name="RollingStyle" value="Date" />
      <!--设置日志生成的格式-->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%c %p] : %m%n" />
      </layout>
      <!--设置记录日志的级别-->
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="Error" />
        <levelMax value="FATAL" />
      </filter>
    </appender>
    
  </log4net>
</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:输出语句所在的文件名
%-数字:表示该项的最小长度,如果不够,则用空格填充


非常详细的解析及应用,可借鉴:

1、写入当前应用程序相同路径下: http://blog.csdn.net/zhoufoxcn/article/details/2220533

2、写入数据库:http://blog.csdn.net/zhoufoxcn/article/details/6029021

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值