如何禁用log4net捕获所有异常?

时间:2017-02-24 17:57:51

标签: c# log4net

我想实现伪appender,在记录特定文本时抛出异常。 显然使用log4net是非常困难的。 我试图实现自己从AppenderSkeleton派生的Appender。 还将ErrorHandler更改为重新抛出异常的一个。但没有什么能阻止log4net捕获所有异常。

有没有办法阻止log4net这样做?最好以编程方式。

由于

1 个答案:

答案 0 :(得分:2)

你不能这样做。 Log4net不会因设计而抛出异常。按设计,log4net不会与正在运行的程序进行交互。

  

log4net是一个可靠的日志记录系统吗?没有.log4net不可靠。它   是一种尽力而为的故障停止记录系统。通过失败,我们的意思是   log4net不会在运行时抛出意外的异常   可能导致您的应用程序崩溃。如果出于任何原因,   log4net抛出一个未捕获的异常(ArgumentException除外)   可能会抛出的ArgumentNullException),请发送电子邮件至   log4net-user@logging.apache.org邮件列表。未捕获的例外情况   被视为需要立即关注的严重错误。此外,   log4net不会还原为System.Console.Out或System.Console.Error   当其指定的输出流未打开时,不可写或   变满了。这样可以避免破坏其他工作程序   因为日志记录失败,所以会淹没用户的终端。但是,log4net   将输出单个消息到System.Console.Error和   System.Diagnostics.Trace表示无法执行日志记录。