Nlog不记录目录

时间:2016-06-21 16:52:40

标签: logging nlog

在我们的设置中,我们有一个在后台运行的服务,应该登录到滚动文件。我们使用Common.Logging作为抽象层。

在某些时候它停止了记录,我们有一个文件目录

  • ...
  • Product.WindowsService.log.20160615.txt
  • Product.WindowsService.log.20160616.txt
  • Product.WindowsService.log.20160617.txt

然后什么都没有:没有Product.WindowsService.log.txt文件,没有下一个日期的归档文件(Product.WindowsService.log.20160618.txt)。

该服务仍在运行,只是没有日志。

然后我们删除了存档的日志文件,并立即创建了日志Product.WindowsService.log.txt文件并填充了数据(没有重启或任何事情)。

NLog版本是4.3.3

不幸的是,我们没有设置内部日志记录,因此信息很少。

我们的配置文件:

<nlog>
  <extensions>
    <add assembly="Product.Log" />
  </extensions>
  <targets async="true">
    <target name="logfile" type="File" fileName="D:\Product\TEST\Logs\Product.WindowsService.log.txt" archiveFileName="D:\Product\TEST\Logs\Product.WindowsService.log.{#}.txt" archiveEvery="Day" archiveNumbering="Date" archiveDateFormat="yyyyMMdd" maxArchiveFiles="7" layout="${date:format=yyyy-MM-dd HH\:mm\:ss.fff} | ${level:uppercase=true:padding=-5} | ${threadid:padding=3} | ${logger} | ${message} ${exception:format=tostring:maxInnerExceptionLevel=99}" />
    <target name="colored-console" type="ColoredConsole" useDefaultRowHighlightingRules="true" errorStream="true" layout="${date} ${level:uppercase=true:padCharacter=.}${literal:text=\t}(${logger}) ${message} ${exception}" />
    <target name="dblog" type="ProductDbLog" layout="${longdate} | ${threadid:padding=3} | ${message} ${exception:format=tostring:maxInnerExceptionLevel=99}" />
  </targets>
  <rules>
    <logger name="*" minlevel="Debug" writeTo="colored-console">
      <filters>
        <when condition="starts-with('${logger}','Quartz') and (level &lt; LogLevel.Warn)" action="Ignore" />
      </filters>
    </logger>
    <logger name="*" minlevel="Debug" writeTo="logfile">
    </logger>
    <logger name="*" minlevel="Error" writeTo="dblog" />
  </rules>
</nlog>

知道什么可能导致这种行为吗?

1 个答案:

答案 0 :(得分:0)

这应该在NLog 4.3.4中修复。