Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 应用程序引擎启动和维护;伐木灾难_Java_Google App Engine_Logging - Fatal编程技术网

Java 应用程序引擎启动和维护;伐木灾难

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消息(来

在我的“Hello World”web应用程序最终在应用程序引擎开发服务器上运行后,我将其上传到了云端,并立即发现了问题

(第一个问题是,我的应用程序启动时间超过30秒;我在JVM上使用Armed Bear Common Lisp(ABCL),我的应用程序引入了相当多的代码。我提到这一点不是为了寻求帮助(我没有遇到“超时”异常),而是为了防止它与下面描述的其他问题有任何关系。)

下一个问题是,我没有在appengine控制台中看到我的
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()
,但Google
java文档示例使用
Logger.getLogger(ClassName.class.getName())
。我使用的是前者,它默默地失败了


如果在某个地方有文档记录,或者文档中的任何代码片段实际使用了日志消息,那就太好了。

好的,我已经解决了日志记录问题。用户可以使用
Logger.getGlobal()
,但Google
java文档示例使用
Logger.getLogger(ClassName.class.getName())
。我使用的是前者,它默默地失败了


如果在某个地方记录了这一点,或者文档中的任何代码片段实际使用了日志消息,那就太好了。

我已为提交了文档更新请求。我已为提交了文档更新请求。