Log4Net日志配置使用

【来自百度百科的一句介绍】log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。

1、首先添加对log4net.dll的引用。可以去【http://logging.apache.org/log4net/download_log4net.cgi】下载或者NuGet

2、在web.config(App.config)中进行配置

<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <!-- Define some output appenders -->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="test.txt"/>  文件名
      <appendToFile value="true"/>  追加还是覆盖
      <maxSizeRollBackups value="10"/>  数量/个数
      <maximumFileSize value="1024KB"/>  txt大小
      <rollingStyle value="Size"/>   按大小划分
      <staticLogFileName value="true"/>  是否静态名称
      <layout type="log4net.Layout.PatternLayout">  日志文件格式
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
      </layout>
    </appender>
    <root>
      <level value="DEBUG"/>  错误等级
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
  </log4net>
</configuration>

2.1、这是最基础的配置,如果项目中使用,我习惯 让日志名称按时间来划分

2.2、级别由大到小:OFF >FATAL >ERROR>WARN >INFO>DEBUG > TRACE >ALL,一般Error就行。

3、在程序开始, 就开始记录。在程序的开始Global.asax 中加入log4net.Config.XmlConfigurator.Configure();

4、在要打印日志的地方,LogManager.GetLogger(typeof(Program)).Debug(“信息”)

ILog logger=LogManager.GetLogger(typeof(Test))

到这里就已经配置好了,可以使用了。

【关于滚动日志】



<appender-ref ref="RollingLogFileAppender"/> 这行代表日志滚动

滚动日志是什么意思?

加入我们日志文件数是10, 默认首先写入Test.txt中,当Test.txt的文件大小超过1M( 当然大小也可以自己修改,但是不要太大),那么就将Test.txt中记录剪切出来,拷贝进Test1.txt中,依次类推,直到达到Test10.txt, 然后又进行重复的剪切拷贝。


【其他记录日志组件】

除了Log4Net,还有Enterprise Library中的Logging Application Block、Apache的CommonLog 以及NLog等,使用应该都是差不多的。

标签: log4net

添加新评论