gpt4 book ai didi

c# - log4net - 只创建一个日志文件

转载 作者:数据小太阳 更新时间:2023-10-29 02:27:39 24 4
gpt4 key购买 nike

我正在使用 log4net,当我运行我的应用程序时,会创建多个日志文件。每当时间格式发生变化时,log4net 似乎都会创建一个新的日志文件,这意味着每当一分钟过去时我都会得到一个新的日志文件。

我可能误解了所使用的 xml 语法,但我不确定它错在哪里(也许是 RollingFileAppender?)。

这是 xml 文件:

<log4net>

<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level [%thread] %logger:%line - %message%newline"/>
</layout>
</appender>

<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd_hhmm'.log'"/>
<file value="Boghe"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level [%thread] %logger:%line - %message%newline"/>
</layout>
</appender>

<root>
<level value="ALL"/>
<appender-ref ref="ConsoleAppender"/>
<appender-ref ref="FileAppender"/>
</root>

</log4net>

谢谢

最佳答案

如果您真的只想要一个文件,那么您应该使用普通的文件附加程序:

http://logging.apache.org/log4net/release/config-examples.html#FileAppender

根据您的评论,我假设您的应用程序运行时间“很短”,因此您希望在日志文件名中包含一些日期/时间信息。你可以这样做:

<file type="log4net.Util.PatternString" value="Boghe%date{yyyyMMdd_hhmm}.log" />

更新:

配置示例(对我有用):

<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString"
value="c:\temp\Boghe%date{yyyyMMdd_hhmm}.log" />

<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date - %message%newline" />
</layout>
</appender>

关于c# - log4net - 只创建一个日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7307223/

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