2010-04-09 68 views
20

我正在使用RollingFileAppender和Size rollingStyle。默認情況下,它會創建一個帶有編號擴展名的備份文件,這使我非常煩惱是否有可能改變它,所以它總是使用定義的擴展名(如.txt或.log)並將該數字作爲文件名的一部分插入?Log4net RollingFileAppender大小rollingStyle文件擴展名

例如:

myapp.log
myapp.1.log
myapp.2.log
myapp.3.log

這是我的當前配置:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="myapp.log"/> 
    <appendToFile value="true"/> 
    <rollingStyle value="Size"/> 
    <maximumFileSize value="1MB"/> 
    <maxSizeRollBackups value="10"/> 
    <staticLogFileName value="true"/> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date{ISO8601} [%3thread] %-5level %logger{3}: %message%newline" /> 
    </layout> 
</appender> 

回答

27

支柱PreserveLogFileNameExtension道具erty設置爲true應該可以做到。 注意:該屬性不適用於當前發佈的版本1.2.10 ,但是當前源的一部分。如果你抓住並建立源代碼,那麼你很好。

更新:很高興看到log4net正在向前發展。版本1.2.11和它的PreserveLogFileNameExtension屬性已經發布。

+0

從哪裏獲得log4net的當前源。當我從這裏下載源代碼時:http://logging.apache.org/log4net/download.html它似乎沒有PreserveLogFileNameExtension支持。你認爲我可以將RollingFileAppender.cs鏈接到上面,並將它覆蓋在我的1.2.10源代碼上嗎? – BrettRobi 2010-04-13 14:47:04

+0

您可以在這裏找到存儲庫:http://logging.apache.org/log4net/source-repository.html。 – 2010-04-13 15:22:07

+0

如何在無需修補log4net的情況下實現相同的行爲,即通過擴展log4net? – bitbonk 2011-07-10 21:18:45