RollingFileAppender遵循日期并生成文本文件?

时间:2011-08-01 11:58:41

标签: log4net

我明白了:

<appender name="iOsClients_Error" type="log4net.Appender.RollingFileAppender">
    <file value="Logs/errors/error_"/>
    <appendToFile value="true"/>
    <rollingStyle value="Date"/>                
    <datePattern value="yyyyMMdd" />
    <staticLogFileName value="false"/>
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%newline%newline%date [%thread] %-5level - %message%newline%newline%exception%newline%newline"/>
    </layout>
</appender>

这将创建一个日志文件,如:error_20110801

如何让log4net输出文本文件或如何让log4net将.txt文件扩展名添加到这些文件中?

我想要这个:error_20110801.txt

2 个答案:

答案 0 :(得分:2)

你可以使用这样的东西来实现这个目标:

<file type="log4net.Util.PatternString" value="Logs/errors/error_%date{yyyyMMdd}.txt" />

这里的关键是使用PatternString

答案 1 :(得分:0)

的问题
<file type="log4net.Util.PatternString" value="Logs/errors/error_%date{yyyyMMdd}.txt" />

是如果服务器不是每天都重新启动,那么该文件将具有相同的日期,因此名称相同。存档文件将类似于error_20130101.txt20130101。 实际的解决方案实际上是:Setting a log file name to include current date in Log4j