当前位置:文档之家› Log4记录日志使用说明

Log4记录日志使用说明

一、想要让Log4net日志(以下称日志)按每月自动归类为一个文件夹,为此,学习和修改了log4net.config文件。

查了资料,重点是以下这些参数:<param name="File" value="Log/log.config" /><param name="AppendToFile" value="true" /><param name="RollingStyle" value="Date" /><param name="DatePattern" value="_yyyy-MM-dd.'config'" /><param name="StaticLogFileName" value="true" />众说纷纭,许多说得让人看后似懂非懂,经过说起来都是泪的实验,终于有了明确的结论,整理发表出来避免后人走弯路。

1.StaticLogFileName的值如果为true,则当前日志文件(相对于历史日志文件而言)的文件名只取File参数。

如果为false,则文件名取File+DatePattern。

2.File的值是静态的如果写“yyyy-MM”就是“yyyy-MM”而不会转成当前的年份和月份,而且斜扛“/”与反斜扛“\”效果相同,连续2扛也与1扛相同。

3.DatePattern的值是动态的“yyyy”代表4位年份,详细参考网上的众多资料(这个不难得到)。

如果想表达静态的字符(如“y”)有2种办法,1是使用转义字符“\”,即“\y”,2是使用一对单引号限定,即“'y'”。

如上面的value="_yyyy-MM-dd.'config'",就是因为fig有特殊含义,所以把“config”用单引号包含起来了。

4.修改了(网站上的)log4net.config文件,使它生效的方法是重启网站(我没有试着去操作应用程序池)。

实测重启网站有约10%没有使它生效,但如果是先停止网站再启动,则100%生效。

以上4点最关键是第1点,也是众多资料所没有说清楚的(本人的汉字理解能力有问题?)。

最终符合我要求的配置如下:<param name="File" value="Log\" /><param name="AppendToFile" value="true" /><param name="RollingStyle" value="Date" /><param name="DatePattern" value="yyyy-MM\\yyyy-MM-dd.'log'" /><param name="StaticLogFileName" value="false" />以上是基于我自己做的实验而得出的结论,难免不够系统和全面,限于本人水平,难免有错误。

如有发现错漏,欢迎指正。

二、log4net配置文件设置2011-11-16 13:15:41| 分类:Notes|举报|字号订阅log4net的使用,主要在配置文件的设置上,明白了如何配置就基本能够封装自己要用的Log公共类了,以下是Log4net的一个配置示例及常用参数讲解。

<?xml version="1.0" encoding="utf-8" ?><configuration><!--Log设定--><configSections><section name="log4net"type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0" /> </configSections><log4net><!--日志记录器logger,可以有多个--><logger name="fileLog"><level value="ALL" /><appender-ref ref="RollingLogFileAppender" /><appender-ref ref="ConsoleAppender" /></logger><appendername="ConsoleAppender" type="log4net.Appender.ConsoleAppender" > <layout type="yout.PatternLayout"><param name="ConversionPattern" value="[%d][%-4p] %m%n"/></layout></appender><appendername="RollingLogFileAppender" type="log4net.Appender.RollingFileAppend er" ><!--log存放的路径--><param name="File" value="log_" /><param name="AppendToFile" value="true" /><param name="StaticLogFileName" value="false"/><param name="MaximumFileSize" value="10MB"/><param name="Threshold" value="ALL"></param><?xml version="1.0" encoding="utf-8"?> <configuration><configSections><section name="log4net"type="log4net.Config.Log4NetConfigurationSectionHandler,log4Net" /></configSections><log4net><!--配置日志的级别,低于此级别的就不写到日志里面去OFF、FATAL、ERROR, WARN, INFO, DEBUG, ALL--><root><level value="DEBUG" /><appender-ref ref="LogFileAppender" /><appender-ref ref="ConsoleAppender" /></root><logger name="WebLogger"><level value="ERROR" /></logger><!--输出到文件--><appender name="LogFileAppender"type="log4net.Appender.RollingFileAppender,log4net"><param name="File" value="Log/" /><param name="AppendToFile" value="true" /><!-- 切割最多文件数 -1表示不限制产生日志文件数--><param name="MaxSizeRollBackups" value="-1"/><!-- 每个文件的大小限制 --><param name="MaximumFileSize" value="10MB"/><!-- RollingStyle Composite 综合 Size 按大小 Date 按时间 --><param name="RollingStyle" value="Composite" /><param name="DatePattern"value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" /><param name="StaticLogFileName" value="false" /><layout type="yout.PatternLayout,log4net"><param name="Header"value="&#xD;&#xA;----------------------applicationstartup--------------------------&#xD;&#xA;" /><param name="Footer" value="&#xD;&#xA;----------------------applicationshutdown--------------------------&#xD;&#xA;" /><param name="ConversionPattern" value="%d [%t] %-5p %c - (%line) %m%n" /></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="ALL" /><param name="LevelMax" value="OFF" /></filter></appender><!--输出控制台--><appender name="ConsoleAppender"type="log4net.Appender.ConsoleAppender,log4net"><layout type="yout.PatternLayout,log4net"><param name="ConversionPattern" value="%d [%t] %-5p %c - (%line) %m%n" /></layout></appender></log4net></configuration>。

相关主题