LogException
or any of the derived functions like ErrorException
etc. seem to totally ignore the exception parameter passed in.
Am I missing a format attribute in my nlog.config
file?
I am using the boilerplate from the template that Nlog installs in VS.
I would expect information from the exception object AND inner exceptions to be added to the log file. Yet the only information added to the log file is the string parameter passed to the function.
Turns out that ErrorException()
is actually less useful than Error()
How can I get more in depth reporting. Particularly a full recursive dump of the Message
property of all inner Exceptions
?
Add or replace the ${exception}
tag in the layout config to ${exception:format=tostring}
<targets>
<target name="errorLogFile" xsi:type="File" fileName="errors.txt"
layout="${message} ${exception:format=tostring}"/>
</targets>
Building on @Niki's answer, this will give you pretty close to what log4net will do
fileName="${basedir}/logs/${shortdate}.log" layout="${longdate}|${level:uppercase=true}|${logger}|${message}${onexception:inner=${newline}${exception:format=tostring}}"
来源:https://stackoverflow.com/questions/5566685/nlog-logexception-seems-to-ignore-the-exception