gpt4 book ai didi

.net - NLog每日归档大小限制

转载 作者:行者123 更新时间:2023-12-03 05:44:01 25 4
gpt4 key购买 nike

我正在使用 NLog 日志框架。我的应用程序需要保留最近 14 天的日志存档。

我当前使用的 NLog.config 如下所示。

<targets>
<target name="MyFile"
xsi:type="File"
fileName="C:\Logs\MyApp.log"
encoding="utf-8"
layout="${date:format=yyyyMMddHHmmss} ${message}"
archiveEvery="Day"
archiveFileName="C:\Logs\MyApp.{#}.log"
archiveNumbering="Date"
archiveDateFormat="yyyy-MM-dd"
maxArchiveFiles="14" />
</targets>

问题是我的应用程序生成大量日志条目,有时每日日志的大小可能会超过 1 GB。如果日日志的大小限制超过 100 mb,是否可以保留 14 天的每日归档结构并添加新的子组,额外归档单日。

所以最终的日志输出看起来像这样

MyApp.2016-10-01_1   // (100mb limit reached)
MyApp.2016-10-01_2
MyApp.2016-10-02
MyApp.2016-10-03_1 // (100mb limit reached)
MyApp.2016-10-03_2 // (100mb limit reached)
MyApp.2016-10-03_3
...
MyApp.2016-10-14

最佳答案

是的,通过使用archiveNumbering=DateAndSequencearchiveAboveSize

例如

100MB = 104857600 字节

<targets>
<target name="MyFile"
xsi:type="File"
fileName="C:\Logs\MyApp.log"
encoding="utf-8"
layout="${date:format=yyyyMMddHHmmss} ${message}"
archiveEvery="Day"
archiveFileName="C:\Logs\MyApp.{#}.log"
archiveNumbering="DateAndSequence"
archiveDateFormat="yyyy-MM-dd"
archiveAboveSize="104857600"
maxArchiveFiles="14" />
</targets>

文件名将是:

MyApp.2016-10-01.1   // (100mb limit reached)
MyApp.2016-10-01.2
MyApp.2016-10-02.1
MyApp.2016-10-03.1 // (100mb limit reached)
MyApp.2016-10-03.2 // (100mb limit reached)
MyApp.2016-10-03.3
...
MyApp.2016-10-14.1

关于.net - NLog每日归档大小限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40512062/

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