虽然登录服务器,但日志显示异常名称:NullPointerException,但不显示异常堆栈,因此我找不到错误的来源。
请告诉我为什么日志没有显示异常堆栈,我怎么能正确呢?而日志系统是log4j系统
try {
// ... function called
} catch (Throwable t) {
log.error("the Exception is : ", t);
}
错误日志只显示:异常为:java.lang.NullPointerException
答案 0 :(得分:1)
使用StandardScaler()
或添加logger.catching(t)
作为参数。
如果你使用t.getStackTrace()
log4j,只需使用对象的logger.error(<A String>, <A Object>)
方法。
答案 1 :(得分:0)
您使用的是Log4j吗?如果是,则实际使用正确的两参数方法。它也应该打印堆栈跟踪。请参阅文档以了解错误 - http://logging.apache.org/log4j/1.2/index.html
如果您仍然想要堆栈跟踪,请尝试此操作。
StringWriter sw = new StringWriter();
ex.printStackTrace(new PrintWriter(sw));
String stacktrace = sw.toString();
log.error(stacktrace);
但我会建议你坚持你的实施。