我以这种方式在 Config.groovy 中配置了 log4j:
log4j {
appenders {
console name:'stdout',
layout: pattern(conversionPattern: '%d{yyyy-MM-dd HH:mm:ss} %-5p %C.%M(%L): %m%n'),
locationInfo: true
}
}
控制器和服务调用很明显log.trace('message')
,并且日志也出现在控制台中。但总是在SLF4JLog
类内有错误的位置信息,就像这样:
2012-12-03 10-30-04 TRACE org.apache.commons.logging.impl.SLF4JLog.trace(104): message
根据SLF4J 文档,看起来 Grails 使用了可能没问题的遗留commons-logging
桥,并且位置信息应该(?)通过.jcl-over-slf4j
LocationAwareLogger
如何配置 Grails 日志记录以获得正确的日志记录位置信息?
我应该使用另一种日志方法而不是内置方法log.trace(...)
吗?
谢谢