问题描述
我在创建以下日志轮换设置时遇到问题:
1 - 当前日志文件 (service.log)
10 - 轮换日志文件,如 service.1.log、service.2.log 等。日志文件大小为 10MB。
10 - 归档日志
当文件达到 10mb 时,当有 10 个这样的轮换文件时,我们将其以名称 .1 丢弃,最后一个存档,并且还有 10 个存档。
示例:
-
我有一个日志文件 - service.log。当文件达到 10mb 时,我们将其丢弃为 'service.1.log' 名称并创建一个新的 'service.log' 文件。然后,当这种情况再次发生时,我们会丢弃名为“service.2.log”的日志文件。
-
当有 10 个这样的轮换文件时,则最旧的一个被归档,因此我们有以下情况: 1 - service.log(新创建的文件); 9 个文件 - service.2.log,service.3.log,.... service.10.log; 1 个从“service.1.log”文件创建的存档。
-
我们也应该有最多 10 个这样的档案。应该删除最旧的档案。
谢谢!
解决方法
认为最接近的选项是 archiveNumbering="Rolling"
:
滚动
<target name="file" xsi:type="File"
...
fileName="service.log"
archiveFileName="service.{##}.log"
archiveNumbering="Rolling"
archiveAboveSize="10000000"
maxArchiveFiles="10" />
文件名示例(最新文件在前):
service.log
service.00.log
service.01.log
service.02.log
另见:https://github.com/NLog/NLog/wiki/FileTarget-Archive-Examples