Log4j Grails2.4.3将致命日志级别视为错误

Log4j Grails2.4.3将致命日志级别视为错误,log4j,Log4j,我正在学习Grails中的log4j配置。下面是我的Config.groovy。记录器grails.app.controllers.logging.FatalController配置为仅记录致命级别 log4j.main={ //更改默认控制台追加器的日志模式的示例: // //附加物{ //控制台名称:'stdout',布局:pattern(转换模式:'%c{2}%m%n') //} 致命的“grails.app.controllers.logging.FatalController” 错误'

我正在学习Grails中的log4j配置。下面是我的Config.groovy。记录器grails.app.controllers.logging.FatalController配置为仅记录致命级别

log4j.main={
//更改默认控制台追加器的日志模式的示例:
//
//附加物{
//控制台名称:'stdout',布局:pattern(转换模式:'%c{2}%m%n')
//}
致命的“grails.app.controllers.logging.FatalController”
错误'org.codehaus.groovy.grails.web.servlet',//控制器
'org.codehaus.groovy.grails.web.pages',//GSP
'org.codehaus.groovy.grails.web.sitemesh',//布局
'org.codehaus.groovy.grails.web.mapping.filter',//URL映射
'org.codehaus.groovy.grails.web.mapping',//URL映射
'org.codehaus.groovy.grails.commons',//核心/类加载
'org.codehaus.groovy.grails.plugins',//plugins
'org.codehaus.groovy.grails.orm.hibernate',//hibernate集成
“org.springframework”,
“org.hibernate”,
'net.sf.ehcache.hibernate'
警告'grails.app.services.logging.WarnService',
'grails.app.controllers.logging.WarnController'
这是我的FatalController.groovy:

包日志记录
类FatalController{
def索引(){
log.debug(“未显示此项”)
log.warn(“这两者都不是”)
log.error(“或该”)
log.fatal(“但这确实如此”)
渲染“已记录”
}
}
现在,当我执行此命令时,我希望它会记录“但它会”。但它不会。当我更改Config.groovy行时:

fatal'grails.app.controllers.logging.FatalController'
为此:

all'grails.app.controllers.logging.FatalController'
我得到的输出是:

2014-10-15 12:33:04070[http-bio-8080-exec-2]调试日志记录.FatalController-未显示此项
2014-10-15 12:33:04071[http-bio-8080-exec-2]WARN logging.FatalController-这两者都不是
|错误2014-10-15 12:33:04072[http-bio-8080-exec-2]错误日志记录。FatalController-或
|错误2014-10-15 12:33:04072[http-bio-8080-exec-2]错误日志记录。FatalController-但这确实存在
请注意,FatalController.groovy中定义了消息“但这确实存在”,将其记录为致命消息

log.fatal(“但这是真的”)
日志消息说它是一个错误级别的消息日志:

| Error 2014-10-15 12:33:04072[http-bio-8080-exec-2]Error logging.FatalController-但这确实存在
因此存在两个问题:1)当日志记录器级别定义为致命时,不显示致命日志消息;2)当I code log.FATAL(“某物”)时,日志将其显示为错误级别消息

我做错了什么?

我认为这是一个Grails bug(我使用的是Grails 2.4.5)

我找到了一个解决方法:尝试以“旧方式”使用log4j


您解决了吗?我也有同样的问题:(谢谢!另一种方法可能是重写Bootstrap.groovy:中的致命函数,但它对我不起作用:(
import org.apache.log4j.Logger

class FatalController {
    Logger log = Logger.getLogger(getClass())

    def index() {
        // ...
    }
}