2016-08-16 64 views
2

我正在使用LogEventInfo將兩者都記錄到日誌文件和數據庫條目。我還希望在將異常拋出到日誌文件時記錄堆棧跟蹤。我想我只需要將LogEventInfo中的Exception屬性設置爲我想記錄的異常,但它不起作用,日誌文件只包含「Error my message」。我在哪裏做錯了?謝謝。NLog LogEventInfo登錄異常

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

回答

1

您也需要打印的佈局之外,使用${exception}

所以一個好的佈局將是:

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

檢查docs for ${exception}各種渲染選項。