我有一个必须捕获异常的方法。 制作中有错误 当我浏览日志文件时 我发现了一些奇怪的事 似乎有例外, 当我通过实现toString()搜索我打印异常对象的catch块时, 我发现该对象打印为null。 我找到了2或3个链接,但从来没有一个明确的答案。 以下是我的方法和记录器。
public void downloadFile() throws ServletException, IOException
{
try{
//some logic to download a file
}
catch(Exception e) {
setRetMessage("File cannot be download.");
PAYTFFileDebug.trace("Error in download >>>>>>>>> "+e.toString(),PAYTFFileDebug.LEVEL_5);
}
}
下面是我发现不常见的日志。
Fri Jan 27 14:50:13 GMT+05:30 2015 : Level 5:Error in download >>>>>>>>> null
答案 0 :(得分:2)
通常,您需要记录Exception的堆栈跟踪。我无法分辨您正在使用哪个底层日志框架,但大多数都允许您在消息之后传递Throwable。例如,在Log4J中我们有:
public void error(Object message,
Throwable t)
如果您的日志记录框架支持它,您可以尝试:
PAYTFFileDebug.error("Error in download.", e);
这将确保您记录该异常的完整堆栈跟踪,然后可以更好地解决问题。