[英]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.