NLog LogEventInfo 记录异常
NLog LogEventInfo to log exception
我正在使用 LogEventInfo 记录日志文件和数据库条目。我还想在日志文件中抛出异常时记录堆栈跟踪。我以为我只需要将 LogEventInfo 中的 Exception 属性 设置为我要记录的异常,但它没有用,日志文件只包含 "Error my message"。我哪里做错了?谢谢
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);
您还需要在布局中打印异常,使用 ${exception}
。
所以一个好的布局应该是:
layout="${longdate} ${uppercase:${level}} ${message} ${exception}" />
检查 docs for ${exception}
以了解各种渲染选项。
我正在使用 LogEventInfo 记录日志文件和数据库条目。我还想在日志文件中抛出异常时记录堆栈跟踪。我以为我只需要将 LogEventInfo 中的 Exception 属性 设置为我要记录的异常,但它没有用,日志文件只包含 "Error my message"。我哪里做错了?谢谢
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);
您还需要在布局中打印异常,使用 ${exception}
。
所以一个好的布局应该是:
layout="${longdate} ${uppercase:${level}} ${message} ${exception}" />
检查 docs for ${exception}
以了解各种渲染选项。