虽然毫无疑问,日志记录器不应该导致应用程序崩溃,但当我修复公司的日志记录器时,我不确定如何正确地接受日志记录框架本身抛出的异常。在元代码中:
public void write(TMessage message)
{
try
{
writeUnsafely(message);
}
catch(Exception loggingException)
{
// what should I do here?
}
}我应该忽略loggingException (就像log4net一样),还是应该让客户端代码选择如何处理它(可能使用可配置的处理程序)?
发布于 2013-04-16 04:25:28
NLog有一个配置选项,允许将日志记录配置为抛出异常(或不抛出):
https://github.com/nlog/nlog/wiki/Configuration-file
(请参阅故障排除日志记录部分)。
似乎给客户端代码一个处理它的机会是一个合理的选择。关于客户端程序应该如何处理异常的建议最好包含在您的文档中(如果您选择实现这样的功能)。示例可能类似于“您可以在应用程序的未处理异常处理程序中捕获LoggingException”。
发布于 2013-04-16 04:21:29
这完全取决于你,但无论你做什么决定,都要记录下来。除了增加代码和用户的复杂性外,我认为将其设置为可配置没有什么坏处。
相反,你可以写出完美的代码,没有bug,也不会抛出任何异常。;-)
https://stackoverflow.com/questions/16023991
复制相似问题