Log4net:仅针对例外的日志上下文

时间:2009-06-18 09:29:42

标签: exception logging log4net

我正在寻找一种方法来收集一组仅用于调试的数据。即,如果我记录异常,则只应记录数据。当我收到ILog.ErrorFatalDebug的异常参数时,我想记录额外的信息。当记录具有异常的其他数据时,不应记录额外信息。

我打算使用GlobalContext或ThreadContext来构建数据集。

我的想法是挂钩到Log4Net并附加到我想象的事件,改变消息模式以包含上下文,但我找不到任何可以帮助我的事件。也许有一种更简单的方法?

您对此的整体设计有何看法?我是在正确的轨道还是我错过了什么?

如果这种方式很好,我该如何实施呢?

1 个答案:

答案 0 :(得分:1)

挂钩并改变图案感觉不太对劲。我建议看过滤器的东西。因此,您将设置使用MessagesWithExceptionOnly过滤器的“ForMessagesWithExceptionsOnly”appender。这个appender只会处理包含异常的消息。

要实现MessagesWithExceptionOnly过滤器,请查看FilterSkeleton