在我的一些程序中,我有30天的预期轮换,有几个月的多个条目,但只有30个日志文件。在其他程序中,我只有一天的日志文件,但总共只有30个日志文件。我想要的只是过去30天的日志文件条目,包含30个日志文件。我想我不知道我错过了什么。
昨天我的一个日志文件在程序启动时被覆盖了,所以我丢失了可以告诉我发生了什么的数据。然后我的第二个问题是,归档只是删除不适合该模式的文件,还是实际上将日志文件放在某处?什么是归档?这是我的nlog.config:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!--
See https://github.com/nlog/nlog/wiki/Configuration-file
for information on customizing logging rules and outputs.
-->
<variable name="LogDir" value="${specialfolder:folder=MyDocuments}/MyApp/Log"/>
<variable name="LogDay" value="${date:format=dd}"/>
<targets async="true">
<!-- add your targets here -->
<target name="LogTarget1"
xsi:type="File"
fileName="${LogDay}.log"
encoding="utf-8"
maxArchiveFiles="30"
archiveNumbering="Sequence"
archiveAboveSize="52428800"
archiveFileName="${LogDay}.{#######}.log"
layout="${date:format=MM/dd/yyyy HH\:mm\:ss}|${level:uppercase=true}|${message}" />
</targets>
<rules>
<!-- add your logging rules here -->
<logger name="*" minlevel="Trace" writeTo="LogTarget1" />
</rules>
</nlog>
答案 0 :(得分:2)
这是NLog的一个缺点,没有很好的记录。
如果要删除文件(例如max archives files),则日志文件和存档文件不能位于同一文件夹中。
因此,对此配置的一个修复是将archifeFilePath更改为
archiveFileName="archive/${LogDay}.{#######}.log"