gpt4 book ai didi

c# - Log4net 生成错误的日志文件名

转载 作者:太空狗 更新时间:2023-10-29 23:09:25 26 4
gpt4 key购买 nike

我想创建具有以下模式的日志文件名:

SBRF_20120820.log
SBRF_20120821.log
SBRF_20120822.log
SBRF_20120823.log

换句话说,每天创建一个新文件。因此,我创建了以下配置来执行此操作:

<log4net>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender, log4net">
<file type="log4net.Util.PatternString" value="Logs/SBRF_%date{yyyyMMdd}.log" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level - %message%newline" />
</layout>
</appender>
<logger name="LogEmArquivo">
<level value="INFO" />
<appender-ref ref="FileAppender" />
</logger>
</log4net>

当我运行该程序时,例如今天,将创建文件 SBRF_20120823.log。但在接下来的日子里,日志不断写入SBRF_20120823.log文件,创建的文件是:

SBRF_20120823.log.2012-08-23
SBRF_20120823.log.2012-08-24
SBRF_20120823.log.2012-08-25
SBRF_20120823.log.2012-08-26

如果我明天运行程序,将创建的文件是:

SBRF_20120824.log.2012-08-24
SBRF_20120824.log.2012-08-25
SBRF_20120824.log.2012-08-26
SBRF_20120824.log.2012-08-27

为什么?

最佳答案

您不要将日期模式放在 中 - 那是文件名的静态部分。您需要将其放入

此外,如果您使用的是 log4net 1.2.11,则可以使用 ,它也将 datePattern 放在当前文件上。

我认为这就是您希望配置的样子:

<log4net>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender, log4net">
<file type="log4net.Util.PatternString" value="Logs/SBRF_.log"/>
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd" />
<preserveLogFileNameExtension value="true"/>
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level - %message%newline" />
</layout>
</appender>
<logger name="LogEmArquivo">
<level value="INFO" />
<appender-ref ref="FileAppender" />
</logger>

关于c# - Log4net 生成错误的日志文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12090788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com