的Grails在运行时

问题描述:

conversionPattern更改使用我的Grails应用一个标准的log4j的配置,这样的自定义转换模式:如预期..用好conversionPattern ......但只有的Grails在运行时

log4j = { 
appenders { 
     console name:'stdout', layout:pattern(conversionPattern: '[%-7p][%d{dd/MM/yyyy HH:mm:ss,SSS}] %C %m%n') 
    } 

root { 
warn 'stdout' 
additivity = true 
} 

error 'org.grails.plugins.springsecurity' 

error 'org.codehaus.groovy.grails.web.servlet' // controllers 
// ... 

warn 'org.mortbay.log', 
'org.apache.tomcat', 
'org.apache.tomcat.util.digester' 

debug 'grails.app' 

} 

我的Grails应用程序启动在几个日志行...终于回退到默认的grails conversionPattern ...: -/

任何想法?

我没有在Grails中编码,但我知道log4j很好。

从表面上看,您似乎需要检查那些未按预期格式化的行。很有可能,它们不会被使用您的stdout appender的记录器捕获。

从我能拼凑起来,它看起来像我也许您的警告记录器是唯一一个使用您的标准输出appender。意义除了警告以外的任何内容都不会按预期格式化。此外,您的库中的记录器还可能捕获一些日志语句,但不会记录其他语句。


基本上解决了这个最好的方法是修改您的模式,让您在您的记录仪很好的信息(我建议更换%C模式,这是执行速度很慢,与%C看记录器使用的确切类别)。然后,看看正确格式化和其他一切之间的区别。

  • 他们有一个共同的水平(信息,调试,错误等)?
  • 它们源于同一包吗?
  • 他们是第三方库调用?

找出它们有什么共同点,你会发现你的错误。