【发布时间】:2012-05-23 16:24:13
【问题描述】:
每当我部署一个带有 externalized configuration 错误的生产应用程序时,我都会在 Tomcat 日志中收到以下消息:
log4j:WARN No appenders could be found for logger (org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper)
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
显然,在 log4j 正确初始化之前处理了外部化配置,因此没有可用的附加程序来接受来自 ConfigurationHelper 的消息。
有没有办法在标准 Grails log4j 初始化发生之前预先初始化 log4j 以捕获这些消息?
【问题讨论】:
-
你和我在同一天打这个。我还没有给你答案,但如果我找到了,我会发布它。这是您在那里进行的一些出色的诊断挖掘。谢谢。我可以假设您正在使用 Grails 2.0.3 执行此操作吗?
-
@mgkimsal 是的,我正在使用 Grails 2.0.3 体验这一点。
-
我的现在有点不同了,但还是坏了。配置 Spring Security UI ... ... 完成配置 Spring Security UI 配置 Spring Security Core ... ... 完成配置 Spring Security Core May 23, 2012 5:21:07 PMorg.apache.catalina.core.StandardContext start SEVERE : 错误 listenerStart 在 stacktrace.log 文件中没有任何内容。 :/顺便说一句,刚刚尝试了grails 2.0.4,同样的行为。 2.0.4 更改日志引用配置中没有任何内容,但我还是想尝试一下。
-
@mgkimsal 我启用了预初始化日志记录,发现我从生产环境复制的外部配置文件的文件权限不正确。