博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

log4net轻松使用日期作为动态文件名【转】

Posted on 2011-06-17 10:57  孤独者  阅读(1014)  评论(0编辑  收藏  举报

由于用了NHibernate,所以log4net就不用白不用了。想用日期作为日志文件的名字,不会配置,g.cn之,发现园子里有前辈用编程解决了,觉得未免大动干戈。于是继续g.cn,找到了一个国外的文章,上面给出了我想要的答案。

以下是我写的一个配置

<appender name="dataAccessLogFile" type="log4net.Appender.RollingFileAppender,log4net" >
<file value="./Log/DataAccess/" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyy-MM-dd&quot;.log&quot;" />
<maxSizeToRollBackups value="10" />
<maximumFileSize value="5MB" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<conversionPattern value="%d - %-5level - %c - %m%n" />
</layout>
</appender>
用过log4net的朋友应该都能看明白了吧?呵呵。

其中比较关键的是

<file value="./Log/DataAccess/" />这里我只指定一个前缀
<rollingStyle value="Date" />表示文件“滚动”的类型是日期
<datePattern value="yyyy-MM-dd&quot;.log&quot;" />设置文件名后缀的格式,那个&quot;起到的作用是转义,就是把.log当作字面义,而不是时间日期的格式定义。
<staticLogFileName value="false" />关掉固定文件名

这样就会生成按日期.log作为文件名的日志文件了。