2016-12-06 58 views
0

当达到200MB大小时尝试将NLOG配置为归档日志文件,但现在使用下面显示的配置时,它会在达到大小时覆盖同一文件。大小达到时归档日志

<target name="debug-file" 
      xsi:type="File" 
      fileName="${basedir}/Log//log-debug-${date:format=yyyy-MM-dd}.txt" 
      layout="${pad:padding=5:inner=${level:uppercase=true}} ${date} ${pad:padding=2:inner=${threadid}} ${message} ${exception:format=tostring}" 
     archiveAboveSize="209715200" 
      archiveNumbering="Sequence" 
     concurrentWrites="true" 
      keepFileOpen="false" 
     archiveFileName="log-debug-{####}.txt" 

    /> 

我的目标是在同一天有几个(根据需要)大小为200MB(或更少)的文件。

回答

1

尝试将旧的日志文件存档到某些其他目录(如存档)。

修改archiveFileName属性一些东西一样

archiveFileName="${basedir}/Log/archives/log-debug.{#####}.txt" 

以下是完整的目标节点

<target name="debug-file" 
      xsi:type="File" 
      fileName="${basedir}/Log/log-debug-${date:format=yyyy-MM-dd}.txt" 
      layout="${pad:padding=5:inner=${level:uppercase=true}} ${date} ${pad:padding=2:inner=${threadid}} ${message} ${exception:format=tostring}" 
     archiveAboveSize="209715200" 
      archiveNumbering="Sequence" 
     concurrentWrites="true" 
      keepFileOpen="false" 
     archiveFileName="${basedir}/Log/archives/log-debug.{#####}.txt" 

    /> 

请看一看https://github.com/nlog/NLog/wiki/File-target#size-based-file-archival了解更多详情。

+0

这适用于我,但仍不明白为什么需要另一个目录? – Yuri

+0

我还没有机会尝试它,但是如果保持文件名与之前的文件名相同,您可以验证会发生什么情况:fileName =“$ {basedir}/Log/log-debug - $ {date:format = yyyy-MM-dd} .txt“,但是修改archiveFileName =”$ {basedir}/Log/log-debug。{#####}。txt“来查看归档文件是否创建在同一个文件夹中? – Vinod