繁体   English   中英

App Engine启动和日志记录问题

[英]App Engine startup & logging woes

最终使我的“ Hello World”网络应用程序在App Engine开发服务器中工作后,我将其上传到云中并立即解决了问题。

(第一个问题是我的应用程序启动时间超过30秒;我在JVM上使用Armed Bear Common Lisp(ABCL),并且我的应用程序插入了大量代码。我提到这并不是在寻求帮助(并且我没有收到“超时”异常),但是如果它与以下所述的其他问题有任何关系。)

下一个问题是,我在App Engine控制台中看不到java.util.logging.Logger日志消息(来自Java或Lisp代码)。 我已经在我的logging.properties文件中设置了.level=FINER ,但是除了一条INFO级别的消息说“ Startup completed in -0.001 seconds.之外,我没有看到使用开发服务器看到的任何消息Startup completed in -0.001 seconds. ,发送到stdout

我看到的另一条消息是代码中的异常,这表明未调用servlet的init方法或无法从web.xml文件中读取context-param值(通过GenericServlet.getInitParameter() )。 我已经在我的web.xml文件中添加了<load-on-startup>1</load-on-startup> ,但这并没有帮助。 我不知道我是否应该已经使用system-properties在我appengine-web.xml的文件,而不是context-param中的元素web.xml (我现在正在检查两者,没有明显的效果。)但是,如果我有日志消息,则可以调试它。

在与该异常相同的日志消息中,还包含文本javax.servlet.ServletContext log: unavailable ,这可能是一个线索,但是Google并未为此提供任何明显的线索。

我向我的应用程序添加了一个简单的“ Hello World” servlet,该应用程序调用log.severe()log.info()尝试使所有日志消息出现在Google Cloud Platform Console Log Viewer (或旧版AppEngine)中日志查看器 )。 运行此命令时,我不会收到log: unavailable消息,但也不会收到任何日志消息。

我忍不住想念明显的东西。 人们在哪里可以在Google Cloud Platform Console中查看其Java日志消息?

好的,我已经解决了我的日志记录问题。 Oracle Java 7文档说使用Logger.getGlobal()但是Google java-docs-samples代码使用Logger.getLogger(ClassName.class.getName()) 我使用的是前者,它默默地失败了。

如果将它记录在某处,或者文档中的任何代码片段实际使用了日志消息,那将是很好的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM