首页 新闻 会员 周边 捐助

log4net配置问题

0
悬赏园豆:50 [待解决问题]

现在我想每次写文件的时候都直接用最新的数据覆盖之前文件内的数据,配置如下,但是却每次是叠加的,log4用得不太多,麻烦大家帮忙看看,谢谢

<logger name="UserMultipleLoginLog" additivity="false">
    <level value="INFO" />
    <appender-ref ref="UserMultipleLoginLogAppender" />
    <appender-ref ref="Console" />
</logger>

<appender name="UserMultipleLoginLogAppender" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="_LogData\UserMultipleLoginLog.txt" />
    <param name="AppendToFile" value="false" />
    <param name="MaxSizeRollBackups" value="0" />
    <param name="MaximumFileSize" value="200KB" />
    <param name="RollingStyle" value="Size" />
    <param name="StaticLogFileName" value="true" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%m%n" />
    </layout>
</appender>

代码如下:

ILog BakLogger = LogManager.GetLogger("UserMultipleLoginLog");
BakLogger.Info(logStrBuilder.ToString());

写两次以后的文件数据如下,有两块数据,实际我只希望有一块数据:

10240;2013-01-21 11:01:54.941
10259;2013-01-21 16:21:29.146
10276;2013-01-21 18:46:38.158
10280;2013-01-22 10:04:13.524
10287;2013-01-22 10:54:34.148
11833;2013-01-22 16:11:14.328
10301;2013-01-22 16:57:41.912
10302;2013-01-22 17:06:30.642
10304;2013-01-22 17:23:04.029

10240;2013-01-21 11:01:54.941
10259;2013-01-21 16:21:29.146
10276;2013-01-21 18:46:38.158
10280;2013-01-22 10:04:13.524
10287;2013-01-22 10:54:34.148
11833;2013-01-22 16:11:14.328
10301;2013-01-22 16:57:41.912
10302;2013-01-22 17:06:30.642
10304;2013-01-22 17:23:04.029

 


        
BraveChen的主页 BraveChen | 初学一级 | 园豆:18
提问于:2013-01-23 10:42
< >
分享
所有回答(5)
0

看看这里http://www.cnblogs.com/henw/archive/2012/11/08/2760780.html

az235 | 园豆:8483 (大侠五级) | 2013-01-23 10:59
0
<param name="AppendToFile" value="false" />,这个属性的意思并不是每写一次文件就把前一次的内容覆盖,它的覆盖行为是根据
<param name="RollingStyle" value="Size" />的配置来的,配置Size的话,就是当达到了指定大小的情况下才覆盖,配置成Once,就是每次重启程序的时候覆盖,没有你说的那种写一段就覆盖的用法.
garry | 园豆:495 (菜鸟二级) | 2013-01-23 11:04
0

不明白你的意思

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-01-23 11:09

就是想每次写文件的时候都直接覆盖文件内原有的数据

支持(0) 反对(0) BraveChen | 园豆:18 (初学一级) | 2013-01-23 11:17
0

type="log4net.Appender.RollingFileAppender">

改为

type="llog4net.Appender.FileAppender">

参考:http://stackoverflow.com/a/3085052

dudu | 园豆:30636 (高人七级) | 2013-01-23 11:19
按照连接中的方法修改为如下,但是依然还是不能每次写文件的时候覆盖原有数据,不知道是不是哪里写错了
<
log4net> <logger name="UserMultipleLoginLog"> <level value="INFO" /> <appender-ref ref="UserMultipleLoginLogAppender" /> </logger> <appender name="UserMultipleLoginLogAppender" type="log4net.Appender.FileAppender"> <file value="_LogData\UserMultipleLoginLog.txt" /> <appendToFile value="false" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%message%newline" /> </layout> </appender> </log4net>

写入的文件如下(两次写入的数据是叠加的):

11905;2013-01-23 11:56:29.518  


11905;2013-01-23 11:56:41.938  
11907;2013-01-23 11:56:50.048
11908;2013-01-23 11:56:59.757

 
支持(0) 反对(0) BraveChen | 园豆:18 (初学一级) | 2013-01-23 11:52
0

<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/> 

这参数是可以配置的

Chaoa | 园豆:643 (小虾三级) | 2014-10-29 16:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册