在我们的设置中,我们有一个在后台运行的服务,应该登录到滚动文件。我们使用Common.Logging作为抽象层。
在某些时候它停止了记录,我们有一个文件目录
然后什么都没有:没有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 < LogLevel.Warn)" action="Ignore" />
</filters>
</logger>
<logger name="*" minlevel="Debug" writeTo="logfile">
</logger>
<logger name="*" minlevel="Error" writeTo="dblog" />
</rules>
</nlog>
知道什么可能导致这种行为吗?
答案 0 :(得分:0)
这应该在NLog 4.3.4中修复。