• log4net小结


    写在前面的:
    在网上找的,再加上自己的心得

    AssemblyInfo.cs:(加载配置文件也可以写到app.config中)
    [assembly: log4net.Config.XmlConfigurator(ConfigFile = "systemconfig/log4net.xml", Watch = true)]

    Test.cs:
    ILog logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

    log4net.xml(注意:要将此文件的属性设置为 如有较新的则复制):
    <?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="RollingLogFileAppender" />
          <appender-ref ref="ConsoleAppender" />
        </root>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender,log4net" >

          <file value="./logs/log.log" />

          <appendToFile value="true" />
          <rollingStyle value="Composite" />

          <datePattern value="yyyy-MM-dd&quot;.log&quot;" />
          <!--设置无限备份=-1 ,最大备份数为50-->
          <maxSizeRollBackups value="50"/>
          <!--每个文件的最大20k-->
          <maximumFileSize value="20"/>
          <!--
          <maximumFileSize value="50MB" />
          -->
          <!--名称是否可以更改:
               false为可以更改-->
          <param name="StaticLogFileName" value="false" />
         
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%d [%t] %-2p %c %method %L- %m%n"/>
          </layout>

          <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="DEBUG" />
            <param name="LevelMax" value="FATAL" />
          </filter>
        </appender>

        <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%d [%t] %-5p %c [%L] - %m%n" />
          </layout>
        </appender>

      </log4net>


    补充:
    Log4net中ConversionPattern的解释说明:http://www.cnblogs.com/calaio/archive/2006/05/29/412024.html

    <layout type="log4net.Layout.PatternLayout">
    <param name="Header" value=" -----------------------header-------------------------- " />
    <param name="Footer" value="-----------------------footer-------------------------- " />
    <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] %X{auth} - Line:%L %m%n" />
    </layout>

    %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:输出语句所在的文件名
    %-数字:表示该项的最小长度,如果不够,则用空格填充

  • 相关阅读:
    jQuery的核心对象、原型对象、静态方法、动态方法
    请写出css中选择器(元素选择器、类选择器、id选择器)的优先级顺序,和当各种选择器组合时,优先级的计算规则是什么?
    css3中的box-sizing常用的属性有哪些?分别有什么作用?
    不同域的页面如何通信(跨域)
    浮动与定位
    获取DOM元素的方式有哪些
    简要说明盒子模型和flex布局
    牛逼哄哄的对象深复制
    欧拉函数
    P2659 美丽的序列
  • 原文地址:https://www.cnblogs.com/softidea/p/3133763.html
Copyright © 2020-2023  润新知