以前在其他平台用过用过log4net, 而且用的时候 挺方便的配置 也挺简单的。网上粘贴了一下 就能很方便 嵌入进入。 今天需要写一个 window Service 需要集成下log4net 。需求是 Log文件要按年月日写,而且要放在Logs 文件夹中。
。 找了好多办法 一直没有成功。
。 找了好多办法 一直没有成功。
或来结合了多个配置文件才搞定。
具体的配置文件内容,其他的 别的博客都有
其中这个地方需要注意下,由于编码关系csdn 不能显示
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<root>
<level value="ALL"/>
<!--<level value="DEBUG" />-->
<appender-ref ref="LogFileAppender"/>
</root>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<file type="log4net.Util.PatternString" value="%Logs\log%date{yyyMMdd}.log"/>
<appendToFile value="true" />
<!--5. 当rollingStyle为Composite或Size,这里设置最大文件大小(可以KB,MB,GB为单位,默认为字节)-->
<maximumFileSize value="30MB" />
<!--6. 默认值为-1。当文件超过MaximumFileSize的大小时,如果要创建新的文件来存储日志,会根据CountDirection的值来重命名文件。
大于-1的值时,file里指定的文件名会依次加上.0,.1,.2递增。
当等于或小于-1时,创建依赖于MaxSizeRollBackups参数值,创建备份日志数。-->
<countDirection value="-1" />
<!--7. 备份日志数目,默认为0。在CountDirection为负数时有效。-->
<maxSizeRollBackups value="-1" />
<!--log保留天数-->
<param name= "MaxSizeRollBackups" value= "30"/>
<!--8. true/false,默认为true。当文件存在时,是否在原文件上追加内容。-->
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<!-- 起始页和结束页插入换行符 -->
<!--在Apache的log4net的FAQ页面上发现了解决方法:把\r\n改成
即可。-->
<!-- 日志起始输出 -->
<header value="-----------服务开始运行-----------
" />
<!-- 日志结束输出 -->
<footer value="-----------服务停止运行-----------
" />
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}>%n ; %m%n"/>
</layout>
</appender>
</log4net>
</configuration>