【问题标题】:Grails external configuration loggingGrails 外部配置日志记录
【发布时间】: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 我启用了预初始化日志记录,发现我从生产环境复制的外部配置文件的文件权限不正确。

标签: tomcat grails log4j


【解决方案1】:

我终于能够通过在$CATALINA_BASE\lib\log4j.properties 中创建一个文件来启用预初始化日志记录:

log4j.rootLogger=WARN, CA                                                          
log4j.appender.CA=org.apache.log4j.ConsoleAppender                                  
log4j.appender.CA.layout=org.apache.log4j.PatternLayout                             
log4j.appender.CA.layout.ConversionPattern=%d{MMM dd, yyyy hh:mm:ss aa} %c%n%p: %m%n

这允许将初始消息记录到控制台。在默认的 Tomcat 配置中,它们将被记录到 $CATALINA_BASE\logs\catalina.out 文件中。

Grails 初始化确实使用来自 Config.groovy 或外部配置文件的设置覆盖了这些初始设置。

我的外部配置文件权限不正确,无法加载。

【讨论】:

  • 那么什么是“正确”权限?我的是可读的 - properties 文件似乎被解析,但不是 groovy 配置文件。
  • @mgkimsal 在我的情况下,当我复制文件时,配置文件将所有者从 Tomcat 用户标识更改为我的用户标识。由于权限是rwx------它甚至无法打开文件。
【解决方案2】:

This blogger 建议检查web.xml 以确保首先列出log4j 侦听器。 Grails 在 WAR 创建过程中会生成web.xml,但它可能值得一看。

【讨论】:

    猜你喜欢
    • 2022-08-23
    • 2013-03-07
    • 1970-01-01
    • 2014-12-06
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 2016-05-19
    • 1970-01-01
    相关资源
    最近更新 更多