一个月后的日志文件需要删除。
以下是我的 Nlog.config 文件中的配置:
<target name="file" xsi:type="File" fileName="logs\${date:format=yyyy_MM}\${date:format=dd}.log"
layout="..."
archiveFileName="logs\archive\log.{#}.txt" <!-- actually I don't want to rename or move it -->
archiveEvery="Month"
maxArchiveFiles="1"
/>
我怎样才能让它工作?
答案 0 :(得分:1)
NLog 支持两种归档模式,但一种不应混合使用:
动态文件名存档逻辑 - 使用 fileName="${shortdate}.log"
启用。这意味着它会因为布局渲染器逻辑而动态滚动/存档。
静态文件名存档逻辑 - 使用 archiveEvery="Month"
和 archiveFileName="..."
启用。这意味着它将期望 FileName 是静态的(例如 fileName="app.log"
)。
NLog 目前不支持子文件夹的归档清理,所以我建议这样做:
<target name="file" xsi:type="File" fileName="logs\${date:format=yyyy_MM_dd}.log" maxArchiveDays="31" />
替代设置每周运行一次的计划任务,执行清理旧文件,并删除空子文件夹。