2010-04-09 167 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