我们可以在try / catch中包装Log4Net Log语句吗?

时间:2017-10-23 19:41:35

标签: log4net

将日志语句包装在try / catch中是否有意义? 我使用Log4net作为:

 LogManager.GetLogger(type).Debug(message, exception)

为了防止Log4net抛出异常(我知道它仍然是故障停止)或者为了防止应用程序在日志记录逻辑抛出异常时崩溃,将调用包装在try / catch中是否有意义?

try{
LogManager.GetLogger(type).Debug(message, exception)
} catch(Exception e){//Some Logic Here}

此外,寻找有关在捕获子句中捕获子句应该发生什么的建议。

1 个答案:

答案 0 :(得分:2)

Log4net永远不会在设计上引发异常。 Log4Net旨在不与您的程序流交互。可能出错的事情是如何格式化参数的错误。但log4net本身应该永远不会抛出异常。

Log4net常见问题解答:

  

log4net是一个可靠的日志记录系统吗?没有.log4net不可靠。它   是一种尽力而为的故障停止记录系统。通过失败,我们的意思是   log4net不会在运行时抛出意外的异常   可能导致您的应用程序崩溃。如果出于任何原因,   log4net抛出未捕获的异常,请发送电子邮件至   log4net-users@lists.sourceforge.net邮件列表。未捕获的例外情况   被视为需要立即关注的严重错误。