我正在使用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