使用Log4Net记录InnerException

Raj*_*Raj 11 .net logging log4net

如何使用Log4NET记录内部异常?

这是我目前的转换模式:

<conversionPattern value="%date [%appdomain] %-5level %logger [%property{NDC}] - %message%newline" />
Run Code Online (Sandbox Code Playgroud)

Ste*_*gli 11

Console和File Appender会自动打印异常.例外:消息,堆栈跟踪和所有内部异常(再次使用堆栈跟踪)记录在单独的行上,并且不遵循转换模式.

我甚至不确定你是否可以配置log4net来打印它.

更新: 可以将appender配置为不打印堆栈跟踪: Log4Net - 仅针对某些文件注销Exception堆栈跟踪

  • 我不知道为什么,但我在我的日志文件中看到正好相反 - 根本没有记录内部异常。 (2认同)

ram*_*ram 10

%例外

日志条目中异常对象的格式化形式,如果条目包含异常; 否则,此格式表达式不会向日志条目添加任何内容

参考:http://www.beefycode.com/post/Log4Net-Tutorial-pt-4-Layouts-and-Patterns.aspx

我相信你的异常将包含内部异常:

编辑:使用ILog.Error()方法而不是ILog.ErrorFormat().根据文档,ErrorFormat()不会将Exception对象包含在日志事件中