nlog - 将日期命名档案与 archiveAboveSize 参数一起使用
问题描述
使用 nlog 4.7.2.11786。与最新版本相同的行为 - 4.7.10.13013。
我用来archiveAboveSize
在日志文件达到设定大小时调用归档。一天的所有日志都需要存储在同一个存档中。
但是,当归档每天发生多次时,旧数据只是在归档中被覆盖,因为它正在归档具有相同名称的文件。
例如,有一个文件debugLog_2021-06-07.log
. 当它达到 10 MB 大小时,它会被压缩并添加到新文件debugLog_Archive_20210607.zip
中。之后,zip文件将在debugLog_2021-06-07.log
里面。
我看到了多种方法来处理这个问题,但找不到实现它们的方法。
如果档案中已经存在文件名,则增加它的名称。
如果档案中已经存在文件名,则追加文件。
NLog目前是否支持这些?
我的配置:
<?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"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
autoReload="true"
throwExceptions="false"
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<variable name="myvar" value="myvalue"/>
<variable name="fileDir" value="C:\logfolder\"/>
<variable name="archiveAboveSize" value="10485760"/> <!-- 10 MB -->
<variable name="maxArchiveFiles" value="10"/>
<targets>
<target xsi:type="File" name="logTarget"
fileName="${fileDir}\debugLog_${shortdate}.log"
layout="${longdate} ${level}: ${message}"
archiveFileName="${fileDir}\debugLog_Archive_{######}.zip"
archiveAboveSize="${archiveAboveSize}"
archiveNumbering="Date"
maxArchiveFiles="${maxArchiveFiles}"
enableArchiveFileCompression="True"
/>
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="logTarget" />
</rules>
</nlog>
解决方案
推荐阅读
- php - MySQL 中的外键约束形成错误:Laravel 迁移
- multithreading - 在 std::lock_guard<> 的声明中添加 const 有什么意义?
- node.js - React 代理使用了错误的 url
- php - 如何检查PHP中的所有参数是否为假?
- r - 在R中将负值转换为零
- powershell - Microsoft 文档给出的 Set-MalwareFilterPolicy 示例失败
- java - 如何获得肥皂身体
- java - 使用 Tomcat 运行带有外部库的应用程序时出现 NoClassDefFoundError
- sql - Amazon Redshift 中的动态合并语句 (upsert)
- scala - 将 Spark Dataframe 列转换为行