zoukankan      html  css  js  c++  java
  • log4net 使用手记

    1. 下载log4net Apache log4net - Download Apache log4net
    2. 修改AssemblyInfo.cs
      添加 [assembly: log4net.Config.DOMConfigurator(ConfigFile="log.log4net",ConfigFileExtension="log4net",Watch=true)]
    3. 在项目添加自己的logger .日志组件单件模式就可以了
      public class Logger 
      {
              private static log4net.ILog logger = log4net.LogManager.GetLogger("ALL");
              public static void Log(string message)
              {
                  logger.Debug(message);
              } 
              //在这里添加项目适合的Log 重载 如  public static void Log(string message,Exception ex)
      }
    4. 上面提到的log.log4net文件,先贴下我在项目里的配置:
      <log4net>
        <root>
          <level value="ALL" />
          <appender-ref ref="rollingFile" />
        </root>

        <appender  name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
          <param name="File" type="" value="log" />
          <param name="AppendToFile" value="true" />
          <param name="RollingStyle" value="Date" />
          <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;" />
          <param name="maxSizeToRollBackups" value="10" />
          <param name="maximumFileSize" value="5MB" />
          <!--日志文件名 静态 动态-->
          <param name="StaticLogFileName" value="false" />
          <layout type="log4net.Layout.PatternLayout,log4net">
            <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
            <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" />
            <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" />
          </layout>
        </appender>
        <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
          <layout type="log4net.Layout.PatternLayout,log4net">
            <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
          </layout>
        </appender>
        <logger name="Log4NetTest.LogTest">
          <level value="DEBUG" />
          <appender-ref  ref="rollingFile" />
          <appender-ref ref="coloredConsoleApp" />
          <appender-ref ref="SystemEvent" />
        </logger>
      </log4net>

    开发项目里一直使用log4net,可是以前一直没有写笔记的习惯,做过的东西,学过的技术,搜到的好东西,在这里和大家分享

    log4net详解
    log4net.Layout.PatternLayout中的转换模式(ConversionPattern)

    %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:输出语句所在的文件名

    %-数字:表示该项的最小长度,如果不够,则用空格填充

    例如,转换模式为%d [%t] %-5p %c - %m%n 的 PatternLayout 执行 Logger.Log(“Hello”); 将生成类似于以下内容的输出:

    2010-04-15 09:55:11,421 [2720] DEBUG ALL - Hello.

  • 相关阅读:
    Android研究之游戏开发处理按键的响应
    C语言指针的初始化和赋值
    Cloudera CDH 5集群搭建(yum 方式)
    未将对象引用设置到对象的实例--可能出现的问题总结
    内存泄漏以及常见的解决方法
    都能看懂的嵌入式linux/android alsa_aplay alsa_amixer命令行使用方法
    Life is hard!
    EasyUI基础入门之Resiable(可缩放)
    Android -- Looper.prepare()和Looper.loop() —深入版
    vi 命令 使用方法
  • 原文地址:https://www.cnblogs.com/iImax/p/log4net.html
Copyright © 2011-2022 走看看