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))
到这里就已经配置好了,可以使用了
【关于滚动日志】
<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,还有EnterpriseLibrary中的Logging ApplicationBlock、Apache的CommonLog以及NLog等,使用都是差不多的