我正在使用log4net的wpf应用程序。它当前记录到单个文件,并且只在文件变得太大时才会滚动。我试图修改它,以便在文件变得太大时,日期发生变化时,或者应用程序重新启动时增长。C# - log4net在日期,大小和应用程序重新启动时翻转
我试图得到尽可能接近以下尽可能
App_2017-07-06.0.txt //First launch on 2017-07-06
App_2017-07-06.1.txt //Rollover due to size limit
App_2017-07-06.2.txt //Application relaunch
App_2017-07-06.3.txt //Rollover due to size limit
App_2017-07-07.0.txt //Rollover due to date change
App_2017-07-07.1.txt //Rollover due to size limit
App_2017-07-07.2.txt //Application relaunch - Currently Logging File
从我从文档理解输出,滚动式的,可以设置为“compostite”拍摄日期和大小,也可以被设置为“一次”以捕获应用程序重新启动。它似乎没有办法做所有3:http://logging.apache.org/log4net/release/sdk/html/T_log4net_Appender_RollingFileAppender_RollingMode.htm
我得到了一切看起来正确的工作,除了应用程序重新启动覆盖预先存在的文件(我想象因为appendToFile属性)。我似乎无法按照我需要的方式工作,而且在文档中找不到任何答案。
这个问题似乎是试图实现类似的目标,但并没有解决我的问题: How do I force a rollover at application startup with Log4net RolloverFileAppender?
我缺少的东西?用log4net做到这一点是不可能的?
我目前的配置
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="Log\App.txt" />
<appendToFile value="false" />
<rollingStyle value="Composite" />
<maximumFileSize value="10KB" />
<maxSizeRollBackups value="-1" />
<staticLogFileName value="false" />
<preserveLogFileNameExtension value="true" />
<countDirection value="1" />
<lockingModel type="log4net.Appender.RollingFileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level User = %username Class = %property{ClassName} Method = %property{MethodName}%newlineMessage - %message%newline%exception%newline***************************************" />
</layout>
</appender>
我的电流输出
App_2017-07-06.0.txt //First launch on 2017-07-06
App_2017-07-06.1.txt //Rollover due to size limit
App_2017-07-06.1.txt //Application relaunch - overwrites pre-existing file
App_2017-07-06.2.txt //Rollover due to size limit
App_2017-07-07.0.txt //Rollover due to date change
App_2017-07-07.1.txt //Rollover due to size limit
App_2017-07-07.1.txt //Application relaunch - overwrites pre-existing file - Currently logging file