Log4net

来源:互联网 发布:淘宝店铺搞活动划算吗 编辑:程序博客网 时间:2024/05/04 13:05

技术总结-Log4net

 
     从上次写完总结已经过去很久了,上次说接着会写log4net相关的简单应用,不过这么久过去后,其中许多知识点已经不再清楚。幸好现在的Internet比较发达,在网络搜索相关的知识,再加上自己的回忆,赶紧写下来,免得下次又忘记了
 
 
     Log4net:官方网址是http://logging.apache.org/log4net/,开源软件。如它的名字和介绍所说,它是用来记录日志的工具。原本的框架是log4j,现在适用于.net环境。可以在网站上下到包括源代码在内的所有文档,自己编译,然后使用生成的dll;或者,也可以使用它已经编译好的log4net.dll,用起来很简单。可以参照它提供例子。
     log4net也需要配置XML文件,这个是能否正确使用的关键所在。该XML文件中定义了log的名称,如何捕获,捕获后的日志以什么形式、存储在哪里,如果是以文件存储,还可以规定该日志文件的大小。这些XML信息既可以单独的放在一个XML文件中,也可以放在web项目的配置文件中。
 
     以下说一下log4net中的一些概念。
     首先是logger,它是日志记录对象;其次是appender,它是日志记录的目标,比如控制台,文件,远程广播等。使用log4net的过程也就是获得一个用来记录日志的对象logger,然后指定日志的记录位置,然后在应用程序中引用这个logger,那么日志信息就会 被记录下来。
     XML信息,如前边所述,其中描述了logger、appender等信息,这个XML信息并不好写,容易出错。当时我写的时候就因为格式问题,一直无法记录日志信息。这里给出一个写入web.config中的XML信息的格式。
 
先在web.config中配置<configuration>节点
<configSections>
  <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net debug="false">                                //是否允许调试
  <appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
            //该appender的名字 ,在应用程序中调用时,即使用该名称;其type字段表明了不通的appender。随后的节点定义了该appender相关的参数
    <param name="File" value="c:/Applog.txt" /> //表示该appender的目标是C:/Applog.txt文件。
    <param name="datePattern" value="yyyy-MM-dd HH:mm" />
           //该参数表示记录日期时的格式。
    <param name="AppendToFile" value="true" />
     <layout type="log4net.Layout.PatternLayout">
          <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
          //这一系列参数表明的也是日志记录的格式,如是否记录进城名等等。具体的含义查询一下log4net的文档。
      </layout>
  </appender>
 
  <appender name="HttpTraceAppender" type="log4net.Appender.ASPNetTraceAppender" >
          //另外一个appender,log4net中允许多个appender
    <layout type="log4net.Layout.PatternLayout">
     <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
    </layout>
  </appender>
 
  <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
    <layout type="log4net.Layout.PatternLayout">
     <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
    </layout>
  </appender>
 
  <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="C:/Log.txt" />
    <param name="AppendToFile" value="true" />
    <param name="MaxSizeRollBackups" value="10" />
    <param name="MaximumFileSize" value="5MB" />
    <param name="RollingStyle" value="Size" />
    <param name="StaticLogFileName" value="true" />
    <layout type="log4net.Layout.PatternLayout">
     <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
    </layout>
  </appender>
  <root>
    <level value="DEBUG" />        //这里定义了日志记录的等级,log4net中包括debug、info、warning等共5种,指定了level后,凡是高于该等级的日志信息才会被记录下来。
     <appender-ref ref="LogFileAppender" />
  </root>
</log4net>
 
这里只是定义日志的使用和格式。具体的使用,下篇再说
 
原创粉丝点击