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等,使用都是差不多的

 

posted @ 2017-06-21 13:56  维尼熊320  阅读(206)  评论(0编辑  收藏  举报