自定义包日志级别被忽略

时间:2015-10-29 16:23:03

标签: grails log4j

我正在尝试通过我的服务类log.info("something")中的net.ted.grailsapp.TaskExecuter进行登录。虽然我将net.ted.grailsapp包的日志记录设置为info,但它不会打印任何日志消息。

当我将根日志记录级别设置为info而不是error时,它会将消息打印到stdout。不幸的是,它还打印了来自其他框架的所有其他info - 消息,我宁愿过滤掉它们。

任何想法都错了吗?

log4j.main = {
    // Example of changing the log pattern for the default console appender:
    //
    appenders {
        console name:'stdout', layout:pattern(conversionPattern: '%c{2} [%p] - %m%n')
    }

    root {
        error 'stdout'
    }

    info stdout:
        'net.ted.grailsapp',
        'org.apache.cxf'

    error stdout:
        'org.codehaus.groovy.grails.web.servlet',        // controllers
        'org.codehaus.groovy.grails.web.pages',          // GSP
        'org.codehaus.groovy.grails.web.sitemesh',       // layouts
        'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
        'org.codehaus.groovy.grails.web.mapping',        // URL mapping
        'org.codehaus.groovy.grails.commons',            // core / classloading
        'org.codehaus.groovy.grails.plugins',            // plugins
        'org.codehaus.groovy.grails.orm.hibernate',      // hibernate integration
        'org.springframework',
        'org.hibernate',
        'net.sf.ehcache.hibernate'
}

1 个答案:

答案 0 :(得分:1)

试试这个:

info 'grails.app.services'

这应该允许log.info()所有服务中登录。我不知道如何将其归结为特定的服务。