1

在 Google App Engine 上的已部署应用程序中从数据存储区分离对象时,我收到“无法分离”异常,我无法在我的开发盒上重现该异常。分离操作是服务器端的,所以我掌握的唯一信息是应用程序日志文件中的异常日志。但是,堆栈跟踪被省略了:例如,最深的内部异常以“... 36 more”结尾。

如何调整应用程序日志记录的详细程度以包含完整的、非省略的堆栈跟踪?

4

2 回答 2

7

您可以做的是在记录异常时添加 Throwable 作为参数。IE:

 Logger log = Logger.getLogger(YourClass.class.getName());
 .....
 }catch (final Throwable e){
       log.log(Level.SEVERE, e.toString(), e);
 }

这将在 GAE 的日志上打印一个很好的堆栈跟踪。

这样您就不必更改全局日志级别。

于 2013-01-12T08:23:48.750 回答
3

您可以调整的东西很少:

1) 在war\WEB-INF\logging.properties文件中。将 .level 值更改为更低的级别,例如 DEBUG。

2)在您的Java代码中,查看将问题代码封装在 atry/catch中,以便您可以控制它。

3) 在catch块中,查看通过 记录异常数据ex.printStackTrace(),其中 ex 是异常对象。

于 2012-08-17T07:18:41.797 回答