如何配置 Nlog 以在一个月后删除日志文件?
How to config Nlog to delete log file after a month?
一个月后的日志文件需要删除。
以下是我的 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"
/>
我怎样才能让它工作?
NLog 支持两种存档模式,但其中一种 should not be mixing 它们:
动态文件名存档逻辑 - 通过使用 fileName="${shortdate}.log"
启用。这意味着它将根据布局渲染器逻辑动态滚动/归档。
静态文件名存档逻辑 - 通过使用 archiveEvery="Month"
和 archiveFileName="..."
启用。这意味着它将期望文件名是静态的(例如 fileName="app.log"
)。
NLog 目前不支持子文件夹的存档清理,所以我建议这样做:
<target name="file" xsi:type="File" fileName="logs${date:format=yyyy_MM_dd}.log" maxArchiveDays="31" />
或者将计划任务设置为每周一次 运行 执行旧文件清理,并删除空的子文件夹。
一个月后的日志文件需要删除。
以下是我的 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"
/>
我怎样才能让它工作?
NLog 支持两种存档模式,但其中一种 should not be mixing 它们:
动态文件名存档逻辑 - 通过使用
fileName="${shortdate}.log"
启用。这意味着它将根据布局渲染器逻辑动态滚动/归档。静态文件名存档逻辑 - 通过使用
archiveEvery="Month"
和archiveFileName="..."
启用。这意味着它将期望文件名是静态的(例如fileName="app.log"
)。
NLog 目前不支持子文件夹的存档清理,所以我建议这样做:
<target name="file" xsi:type="File" fileName="logs${date:format=yyyy_MM_dd}.log" maxArchiveDays="31" />
或者将计划任务设置为每周一次 运行 执行旧文件清理,并删除空的子文件夹。