首页 > 代码库 > Log4net日志记录、详细配置(自己使用)

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=http://www.mamicode.com/"test.txt"/>  文件名
 9       <appendToFile value=http://www.mamicode.com/"true"/>  追加还是覆盖
10       <maxSizeRollBackups value=http://www.mamicode.com/"10"/>  数量/个数
11       <maximumFileSize value=http://www.mamicode.com/"1024KB"/>  txt大小
12       <rollingStyle value=http://www.mamicode.com/"Size"/>   按大小划分
13       <staticLogFileName value=http://www.mamicode.com/"true"/>  是否静态名称
14       <layout type="log4net.Layout.PatternLayout">  日志文件格式
15         <conversionPattern value=http://www.mamicode.com/"%date [%thread] %-5level %logger - %message%newline"/>
16       </layout>
17     </appender>
18     <root>
19       <level value=http://www.mamicode.com/"DEBUG"/>  错误等级
20       <appender-ref ref="RollingLogFileAppender"/>
21     </root>
22   </log4net>
23 </configuration>
View Code

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="http://www.mamicode.com/DEBUG"/>
<appender-ref ref="RollingLogFileAppender"/>   这行代表日志滚动
</root>

滚动日志是什么意思?

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

其他记录日志组件

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

有使用过除Log4Net其他的,欢迎和我交流下哦~  

 

Log4net日志记录、详细配置(自己使用)