2

我正在使用 LogEventInfo 将日志记录到日志文件和数据库条目。当异常被抛出到日志文件时,我还想记录堆栈跟踪。我以为我只需要将 LogEventInfo 中的 Exception 属性设置为我要记录的异常,但它不起作用,日志文件只包含“错误我的消息”。我哪里做错了?谢谢。

NLog.config 就像

<target xsi:type="File" name="localLogFile" fileName="${basedir}/logs/${shortdate}.log"
        layout="${longdate} ${uppercase:${level}} ${message}" />
<logger name="*" minlevel="Debug" writeTo="localLogFile" />

和 C# 代码

LogEventInfo logentity = new LogEventInfo(LogLevel.Error, "", "my message");
logentity.Properties["errormsg"] = msg;

logentity.Exception = new Exception("Dummy");

logger.Error(logentity);
4

1 回答 1

1

您还需要在布局中打印异常,使用${exception}.

所以一个好的布局应该是:

layout="${longdate} ${uppercase:${level}} ${message} ${exception}" />

检查文档以${exception}获取各种渲染选项。

于 2016-08-16T21:24:31.953 回答