NLog LogException seems to ignore the exception

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-03 10:34:34

问题


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?


回答1:


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>



回答2:


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!