3

我的NLog配置如下

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <targets>
      <target name="file" xsi:type="File" fileName="${basedir}/log${shortdate}.txt" archiveAboveSize="500000" archiveEvery="Day" archiveNumbering="Rolling" maxArchiveFiles="10" layout="${date:format=s}|${level}|${callsite}|${identity}|${message}|${exception:format=stacktrace}"/>
      <!--<target name="console" xsi:type="Console" />-->
    </targets>
    <rules>
      <logger name="*" minlevel="Debug" writeTo="file" />
      <!--<logger name="*" minlevel="Debug" writeTo="console" />-->
    </rules>
  </nlog>

但是发生异常时没有记录堆栈跟踪。NLog 中是否存在错误?

我已经围绕 Nlog 创建了一个包装器,并且我正在记录如下

public void Error(string message, Exception ex)
    {
        logger.Error(message, ex);
    }

我在日志中收到消息,但没有收到堆栈跟踪。

提前致谢

4

2 回答 2

7

在你的布局中试试这个:

${exception:format=ToString}
于 2012-09-19T16:42:35.600 回答
4

您是否尝试过使用logger.ErrorException(message, ex);而不是 logger.Error?

于 2012-09-19T17:50:39.220 回答