jam*_*man 2 grails tomcat log4j
每当我部署具有外部化配置错误的生产应用程序时,我在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.
Run Code Online (Sandbox Code Playgroud)
显然,在正确初始化log4j之前处理外部化配置,因此没有可用于接受消息的appender ConfigurationHelper.
有没有办法在标准Grails log4j初始化发生之前预先初始化log4j以捕获这些消息?
我终于能够通过在$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
Run Code Online (Sandbox Code Playgroud)
这允许将初始消息记录到控制台.在默认的Tomcat配置中,它们将被记录到该$CATALINA_BASE\logs\catalina.out文件中.
Grails初始化确实使用来自Config.groovy外部配置文件的设置覆盖这些初始设置.
我的外部配置文件具有不正确的权限,无法加载.
| 归档时间: |
|
| 查看次数: |
2734 次 |
| 最近记录: |