nLog缺少日志数据

时间:2012-03-21 14:19:43

标签: c# logging nlog

有时nLog没有记录所有调试信息(调试文件中缺少一些log.Debug ...),有谁知道为什么会发生这种情况以及如何避免这种情况?

这是我的nLog配置

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <variable name="appTitle" value="Service"/>
  <targets async="true">
    <target name="fallbackDebug" xsi:type="FallbackGroup" returnToFirstOnSuccess="true">
      <target xsi:type="File" fileName="C:\Logs\${date:format=yyyyMMdd}_Debug.txt" layout="..."/>
      <target xsi:type="File" fileName="C:\Logs\${date:format=yyyyMMdd}_Debug_bu.txt" layout="..."/>
    </target>
  </targets>
  <rules>
    <logger name="*" levels="Trace,Debug,Error,Fatal"       writeTo="fallbackDebug" />
  </rules>
</nlog>

在代码I中使用以下

private static Logger log = LogManager.GetCurrentClassLogger();
...
log.Debug("Some debug info");

谢谢!

1 个答案:

答案 0 :(得分:1)

您必须在最后调用LogManager.Flush()方法。

示例:

private static Logger log = LogManager.GetCurrentClassLogger();
...
log.Debug("Some debug info");
...
LogManager.Flush();