如何让Log4net日志文件按每月归成一个文件夹,StaticLogFileName参数的用法
2013-12-17 16:38
597 查看
想要让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" />
以上是基于我自己做的实验而得出的结论,难免不够系统和全面,限于本人水平,难免有错误。如有发现错漏,欢迎指正。
<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" />
以上是基于我自己做的实验而得出的结论,难免不够系统和全面,限于本人水平,难免有错误。如有发现错漏,欢迎指正。
相关文章推荐
- tomcat日志配置,log信息如何输出到同一个文件
- 数据库日志文件(databasename_log.ldf)太大 如何清除
- log4net 如何跨域或者跨进程日志记录在同一个日志文件中以及数据库中
- (六)Net Core项目使用Controller之一 c# log4net 不输出日志 .NET Standard库引用导致的FileNotFoundException探究 获取json串里的某个属性值 common.js 如何调用common.js js 筛选数据 Join 具体用法
- FindFile FindNextFile 如何遍历一个文件夹并获取里面文件的信息
- 如何用c#打开文件夹并选择文件夹内的一个文件 open folder and select file
- 如何计算合适的InnoDB的(innodb_log_file_size)日志文件大小
- 如何在一个工程里面实现不同的功能打入不同的日志文件中【log4net】
- 如何在一个工程里面实现不同的功能打入不同的日志文件中【log4net】
- 如何用c#打开文件夹并选择文件夹内的一个文件 open folder and select file
- [原创]Java中使用File类的list方法获取一定数量的文件:FilenameFilter接口的特殊用法
- C# 实现一个Log日志文件 以每2Mb创建一个新的日志
- 如何清除Oracle控制文件中的无用记录,例如v$archived_log中的deleted归档日志记录
- 写日志类 vs2010 日志文件按月,每月写一个日志文件
- 关于参数log_file_name_convert
- linux chmod命令(文件文件夹权限设定命令)参数及用法详解
- 如何迭代输出某文件夹下的所有文件的路径?(os.walk用法)
- (表格)vba如何打开一个文件夹下所有xls文件
- 建立一个当前date 命名的文件夹,copy文件到此文件夹中,并记录log
- SQL Server 2008如何压缩日志(log)文件?