Log4net日志记录、详细配置(自己使用)
【来自百度百科的一句介绍】log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。
1、首先添加对log4net.dll的引用。可以去【http://logging.apache.org/log4net/download_log4net.cgi】下载或者NuGet
2、在web.config(App.config)中进行配置
1 <configuration> 2 <configSections> 3 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 4 </configSections> 5 <log4net> 6 <!-- Define some output appenders --> 7 <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> 8 <file value="test.txt"/> 文件名 9 <appendToFile value="true"/> 追加还是覆盖 10 <maxSizeRollBackups value="10"/> 数量/个数 11 <maximumFileSize value="1024KB"/> txt大小 12 <rollingStyle value="Size"/> 按大小划分 13 <staticLogFileName value="true"/> 是否静态名称 14 <layout type="log4net.Layout.PatternLayout"> 日志文件格式 15 <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/> 16 </layout> 17 </appender> 18 <root> 19 <level value="DEBUG"/> 错误等级 20 <appender-ref ref="RollingLogFileAppender"/> 21 </root> 22 </log4net> 23 </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))
到这里就已经配置好了,可以使用了。
【关于滚动日志】
<root>
<level value="DEBUG"/>
<appender-ref ref="RollingLogFileAppender"/> 这行代表日志滚动
</root>
滚动日志是什么意思?
加入我们日志文件数是10, 默认首先写入Test.txt中,当Test.txt的文件大小超过1M( <maximumFileSize value="1024KB"/> 当然大小也可以自己修改,但是不要太大),那么就将Test.txt中记录剪切出来,拷贝进Test1.txt中,依次类推,直到达到Test10.txt, 然后又进行重复的剪切拷贝。
【其他记录日志组件】
除了Log4Net,还有Enterprise Library中的Logging Application Block、Apache的CommonLog 以及NLog等,使用应该都是差不多的。
有使用过除Log4Net其他的,欢迎和我交流下哦~