Google app engine 如何显示异常';谷歌应用程序引擎&x27;谁的应用程序日志?
当在Google app Engine上从部署的应用程序的数据存储中分离对象时,我得到了一个“无法分离”的异常,我无法在我的开发框中重现该异常。分离操作是服务器端的,因此我唯一掌握的信息是应用程序日志文件中的异常日志。然而,stacktrace被省略了:例如,最深的内部异常以“…36更多”结尾Google app engine 如何显示异常';谷歌应用程序引擎&x27;谁的应用程序日志?,google-app-engine,logging,exception-handling,Google App Engine,Logging,Exception Handling,当在Google app Engine上从部署的应用程序的数据存储中分离对象时,我得到了一个“无法分离”的异常,我无法在我的开发框中重现该异常。分离操作是服务器端的,因此我唯一掌握的信息是应用程序日志文件中的异常日志。然而,stacktrace被省略了:例如,最深的内部异常以“…36更多”结尾 如何调整应用程序日志的详细程度,以包括完整的、未省略的stacktrace?您可以调整的内容很少: 1) 在war\WEB-INF\logging.properties文件中。将.level值更改为较低的
如何调整应用程序日志的详细程度,以包括完整的、未省略的stacktrace?您可以调整的内容很少: 1) 在
war\WEB-INF\logging.properties
文件中。将.level值更改为较低的级别,例如调试
2) 在Java代码中,查看如何将问题代码封装在try/catch
中,以便您可以控制问题代码
3) 在
catch
块中,查看通过ex.printStackTrace()
记录异常数据,其中ex是异常对象。可以调整的事情很少:
1) 在war\WEB-INF\logging.properties
文件中。将.level值更改为较低的级别,例如调试
2) 在Java代码中,查看如何将问题代码封装在try/catch
中,以便您可以控制问题代码
3) 在
catch
块中,查看通过ex.printStackTrace()
记录异常数据,其中ex是异常对象。可以做的是在记录异常时将Throwable添加为参数。即:
Logger log = Logger.getLogger(YourClass.class.getName());
.....
}catch (final Throwable e){
log.log(Level.SEVERE, e.toString(), e);
}
这将在GAE的日志上打印一个很好的堆栈跟踪
这样,您就不必更改全局日志级别。您可以在记录异常时添加Throwable作为参数。即:
Logger log = Logger.getLogger(YourClass.class.getName());
.....
}catch (final Throwable e){
log.log(Level.SEVERE, e.toString(), e);
}
这将在GAE的日志上打印一个很好的堆栈跟踪
这样,您就不必更改全局日志级别。@cqcallaw-更改为什么?Java的默认日志记录中没有调试级别:Java.util.logging.level。在logging.properties文件中,您会发现类似“.level=WARNING”的行。只需将其更改为“.level=DEBUG”,然后重试。@cqcallaw-更改为什么?Java的默认日志记录中没有调试级别:Java.util.logging.level。在logging.properties文件中,您会发现类似“.level=WARNING”的行。只需将其更改为“.level=DEBUG”,然后重试。