1、一、想要让 Log4net 日志(以下称日志) 按每月自动归类为一个文件夹,为此,学习和修改了log4net.config 文件。查了资料,重点是以下这些参数:众说纷纭,许多说得让人看后似懂非懂,经过说起来都是泪的实验,终于有了明确的结论,整理发表出来避免后人走弯路。1.StaticLogFileName 的值如果为 true,则当前日志文件(相对于历史日志文件而言) 的文件名只取 File 参数。如果为 false,则文件名取 File+DatePattern。2.File 的值是静态的如果写“yyyy-MM”就是“yyyy-MM”而不会转成当前的年份和月份,而且斜扛“/”与反斜扛“” 效果
2、相同,连续 2 扛也与 1 扛相同。3.DatePattern 的值是动态的“yyyy”代表 4 位年份,详细参考网上的众多资料( 这个不难得到)。如果想表达静态的字符(如“y”)有 2 种办法,1 是使用转义字符“”,即“y”,2 是使用一对单引号限定,即“y”。如上面的 value=“_yyyy-MM-dd.config“,就是因为 fig 有特殊含义,所以把“config”用单引号包含起来了。4.修改了(网站上的)log4net.config 文件,使它生效的方法是重启网站( 我没有试着去操作应用程序池)。实测重启网站有约 10%没有使它生效,但如果是先停止网站再启动,则 100%生效。
3、以上 4 点最关键是第 1 点,也是众多资料所没有说清楚的(本人的汉字理解能力有问题?)。最终符合我要求的配置如下:以上是基于我自己做的实验而得出的结论,难免不够系统和全面,限于本人水平,难免有错误。如有发现错漏,欢迎指正。二、log4net 配置文件设置 2011-11-16 13:15:41| 分类: Notes|举报|字号 订阅log4net 的使用,主要在配置文件的设置上,明白了如何配置就基本能够封装自己要用的 Log 公共类了,以下是 Log4net 的一个配置示例及常用参数讲解。RollingLogFileAppender(文件记录)参数:参数名描述filter 可以有 0 或多个
4、 filter,具体配置在下面的 Filter 项说明。layout可以有 0 或者说 1 个 layout,当没有 layout 时,没有输出。具体配置在下面的 layout 项说明paramParam 有多个可以进行配置,常用的:名称 描述File 文件路径,如果 RollingStyle 为 Composite或 Date,则这里设置为目录,文件名在DatePattern 里设置,其他则这里要有文件名。已经扩展支持虚拟目录RollingStyle 创建新文件的方式,可选为 Size(按文件大小),Date(按日期),Once (每启动一次创建一个文件),Composite(按日期及文件大
5、小),默认为 CompositeDatePattern 当 RollingStyle 为 Composite 或 Date,这里设置文件名格式StaticLogFileName True/false,默认为 true。为 true 时,RollingStyler 的 date 值将无效。且为 true 时,需要在 file 里指定文件名,所有日志都会记录在这个文件里。MaximumFileSize 当 RollingStyle 为 Composite 或 Size,这里设置最大文件大小(可以 KB,MB,GB 为单位,默认为字节)CountDirection 默认值为-1 。当文件超过 Max
6、imumFileSize的大小时,如果要创建新的文件来存储日志,会根据 CountDirection 的值来重命名文件。大于-1 的值时,file 里指定的文件名会依次加上.0,.1,.2 递增。当等于或小于-1 时,创建依赖于 MaxSizeRollBackups 参数值,创建备份日志数。MaxSizeRollBackups 备份日志数目,默认为 0。在 CountDirection为负数时有效。Threshold 起始日志级别,取值为下面文章讨论的预定义日志级别。低于此级别的日志不会被记录。AppendToFile True/false,默认为 true。当文件存在时,是否在原文件上追加内容。例如:三、