我目前正在尝试为log4net编写自定义appender。我的追加方法:
protected override void Append(LoggingEvent loggingEvent)
{
... stuff
}
我想在方法中捕获loggingEvent.ExceptionObject
。我可以用
throw new Exception("Test");
但ExceptionObject
始终为空。该程序的其他所有功能都有效;我可以调用RenderLoggingEvent(loggingEvent)
并获取正确的字符串。我无法获得例外。
有什么想法吗?
答案 0 :(得分:3)
希望这有助于某人! :)
捕获异常时,我使用的是Fatal(ex)
方法。这是将异常对象转换为字符串消息。将呼叫更改为Fatal(ex, ex)
或Fatal("Fatal: ", ex)
会将异常正确传递给自定义附加程序。