我使用GoogleAppEngine for java创建了一个默认项目,当我在谷歌服务器上部署我的应用程序时,我对第一个请求有以下警告消息。GoogleAppEngine日志警告
log4j:WARN记录器(DataNucleus.Connection)找不到appender。
log4j:WARN请正确初始化log4j系统。
日志工作正常,但有些请求被延迟了这个问题。
如何正确配置它?
我使用GoogleAppEngine for java创建了一个默认项目,当我在谷歌服务器上部署我的应用程序时,我对第一个请求有以下警告消息。GoogleAppEngine日志警告
log4j:WARN记录器(DataNucleus.Connection)找不到appender。
log4j:WARN请正确初始化log4j系统。
日志工作正常,但有些请求被延迟了这个问题。
如何正确配置它?
是什么让你确信这是拖延一些你的要求?
GAE不像一个标准的servlet容器。在幕后,它会卸载任何空闲的web应用程序,然后只有当它获得该webapp的新请求时才加载它们。这基本上等于完成您的应用程序的重新部署,并且它在 GAE收到请求之后才开始,直到。因此,与后续请求相比,任何触发加载操作的请求都将明显延迟。
但是有很多事情正在对延迟做出贡献,我认为未初始化的log4j设置并没有带来太大的实际差异。
此消息表示没有找到log4j配置。
您必须将log4j的配置放入应用程序类路径中,例如放入名为log4j.properties
的文件中。
配置,例如,将是:
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n
如果你的项目是基于Maven的,那么最好的地方,把log4j.properties
将src/main/resources
这不是Maven项目,它是默认的GoogleAppEngine项目。 – Victor
好的,然后把它放在你放置所有源的地方 –