Nlog没有记录stacktrace

时间:2012-09-19 16:18:07

标签: c# logging stack-trace nlog

我的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);
    }

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

提前致谢

2 个答案:

答案 0 :(得分:6)

在你的布局中试试这个:

${exception:format=ToString}

答案 1 :(得分:4)

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