Java 应用程序引擎启动和维护;伐木灾难
在我的“Hello World”web应用程序最终在应用程序引擎开发服务器上运行后,我将其上传到了云端,并立即发现了问题 (第一个问题是,我的应用程序启动时间超过30秒;我在JVM上使用Armed Bear Common Lisp(ABCL),我的应用程序引入了相当多的代码。我提到这一点不是为了寻求帮助(我没有遇到“超时”异常),而是为了防止它与下面描述的其他问题有任何关系。) 下一个问题是,我没有在appengine控制台中看到我的Java 应用程序引擎启动和维护;伐木灾难,java,google-app-engine,logging,Java,Google App Engine,Logging,在我的“Hello World”web应用程序最终在应用程序引擎开发服务器上运行后,我将其上传到了云端,并立即发现了问题 (第一个问题是,我的应用程序启动时间超过30秒;我在JVM上使用Armed Bear Common Lisp(ABCL),我的应用程序引入了相当多的代码。我提到这一点不是为了寻求帮助(我没有遇到“超时”异常),而是为了防止它与下面描述的其他问题有任何关系。) 下一个问题是,我没有在appengine控制台中看到我的java.util.logging.Loggerlog消息(来
java.util.logging.Logger
log消息(来自我的java或Lisp代码)。我已经在我的日志记录.properties
文件中设置了.level=FINER
,但是我没有看到使用开发服务器看到的任何消息,除了一条信息
级别的消息说启动在-0.001秒内完成。
,发送到标准输出
我看到的另一条消息是代码中的一个异常,这表明servlet的init
方法没有被调用,或者它无法从web.xml
文件(通过GenericServlet.getInitParameter()
)读取上下文参数值。我已将1
添加到我的web.xml
文件中,但这没有帮助。我想知道我是否应该在appengine web.xml
文件中使用系统属性
,而不是web.xml
中的上下文参数
元素。(我现在两个都检查了,没有明显的效果。)但如果我有日志消息,我可以调试它
在与异常相同的日志消息中,还有文本javax.servlet.ServletContext log:unavailable
,这一定是一条线索,但谷歌没有提供任何明显的线索
我在我的应用程序中添加了一个非常简单的“Hello World”servlet,它调用log.severe()
和log.info()
,以尝试获取要显示在(或旧版)中的任何日志消息。运行此命令时,我没有收到log:unavailable
消息,但也没有收到任何日志消息
我忍不住觉得我错过了一些明显的东西。人们在谷歌云平台控制台的哪里可以看到Java日志消息?好的,我已经解决了日志问题。用户可以使用Logger.getGlobal()
,但Googlejava文档示例使用Logger.getLogger(ClassName.class.getName())
。我使用的是前者,它默默地失败了
如果在某个地方有文档记录,或者文档中的任何代码片段实际使用了日志消息,那就太好了。好的,我已经解决了日志记录问题。用户可以使用Logger.getGlobal()
,但Googlejava文档示例使用Logger.getLogger(ClassName.class.getName())
。我使用的是前者,它默默地失败了
如果在某个地方记录了这一点,或者文档中的任何代码片段实际使用了日志消息,那就太好了。我已为提交了文档更新请求。我已为提交了文档更新请求。