现在的位置: 首页 > 综合 > 正文

log4net 使用手记

2012年01月24日 ⁄ 综合 ⁄ 共 2245字 ⁄ 字号 评论关闭
  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.

抱歉!评论已关闭.