gpt4 book ai didi

c# - 当前一个文件大于文件限制时,如何让 log4net 创建一个新文件?

转载 作者:行者123 更新时间:2023-11-30 13:38:54 27 4
gpt4 key购买 nike

当前一个文件太大时,如何让 log4net 创建一个新文件?

我有一项任务需要 1 小时才能完成并生成大约 40MB 的日志,但是我想要 40 个 1MB 的文件而不是一个 40MB 的文件。我没有对 log4net 进行任何配置。我现在只有库和代码:

private static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

然后我就这样做:

log.Debug("some message");

怎么做?

编辑:

<?xml version="1.0"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<appSettings>
<add key="mymail" value="mitja.resek@gmail.com" />
</appSettings>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
</configuration>

这是我的 app.config 但我仍然有 40MB 的文件 :S

最佳答案

<appender name="RollingFileAppenderV1" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="F:\HornetFeed\%property{LogName}" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="-1" />
<maximumFileSize value="5000KB" />
<staticLogFileName value="true" />
<countDirection value="1"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%m%n" />
</layout>
<filter type="log4net.Filter.PropertyFilter">
<Key value="Version" />
<StringToMatch value="1" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>

这将创建计数方向 > 0 的无限文件备份,以便最新文件具有最新/最大名称,即最新备份(第 5 次备份)的 log.5。

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logfile" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value=".yyyyMMdd-HHmm" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<countDirection value="1"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>

这是一个复合 RollingFileAppender,每分钟最多保留 10 个 1MB 日志备份。

App.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net debug="false">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logfile" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value=".yyyyMMdd-HHmm" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<countDirection value="1"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<priority value="ALL" />
<appender-ref ref="RollingLogFileAppender" />
</root>
<category name="testApp.LoggingExample"><priority value="ALL" /></category>
</log4net>
</configuration>

关于c# - 当前一个文件大于文件限制时,如何让 log4net 创建一个新文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14194592/

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