在Google App Engine上部署的应用程序中从数据存储区中分离对象时,我遇到了“无法分离”的异常,我无法在我的开发框中重现该异常。分离操作是服务器端的,因此我唯一的信息是应用程序日志文件中的异常日志。但是,堆栈跟踪被省略了:例如,最深的内部异常以“...... 36多”结束。
如何调整应用日志记录的详细程度,以包含完整的,非省略的堆栈跟踪?
答案 0 :(得分:7)
您可以做的是在记录异常时将Throwable添加为参数。即:
Logger log = Logger.getLogger(YourClass.class.getName());
.....
}catch (final Throwable e){
log.log(Level.SEVERE, e.toString(), e);
}
这将在GAE的日志上打印出一个很好的堆栈跟踪。
这样您就不必更改全局日志级别。
答案 1 :(得分:3)
您可以调整的内容很少:
1)在war\WEB-INF\logging.properties
文件中。将.level值更改为更低的级别,例如DEBUG。
2)在您的Java代码中,查看将问题代码封装在try/catch
中,以便您可以控制它。
3)在catch
块中,查看通过ex.printStackTrace()
记录异常数据,其中ex是异常对象。