Grails log4j Appender不工作

时间:2017-10-05 06:46:58

标签: grails log4j grails-2.5

我使用Grails 2.5.6并尝试创建2个不同的appender 第一个appender应该记录所有错误 第二个appender应记录所有信息。
我创建了appenders但它仍然没有工作。
(正确创建日志文件)

log4j = {
    appenders{
        appender new DailyRollingFileAppender(
            name: 'errorLog',
            threshold: Level.ERROR,
            datePattern: "'-'yyyy-mm-dd",
            file: "logs/dev/${Metadata.current.'app.name'}##${Metadata.current.'app-version'}-error.log",
            layout: pattern(conversionPattern: '%d [%t] %-5p %c{2} %x - %m%n')
        )

        appender new DailyRollingFileAppender(
            name: 'infoLog',
            threshold: Level.INFO,
            datePattern: "'-'yyyy-mm-dd",
            file: "logs/dev/${Metadata.current.'app.name'}##${Metadata.current.'app-version'}.log",
            layout: pattern(conversionPattern: '%d [%t] %-5p %c{2} %x - %m%n')      
        )

    }

    root{
        error 'errorLog'
        info 'infoLog'
    }

    error  '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 :(得分:0)

不确定这是否会导致问题,但我在您的示例中注意到两件事:

  1. 两个appender中的文件属性相同

    file: "logs/dev/${Metadata.current.'app.name'}##${Metadata.current.'app-version'}-error.log",
    
  2. 缺少日志级别的阻止(请参阅enter link description here

    log4j = {
        error  'org.codehaus.groovy.grails.web.servlet',  //  controllers
               'org.codehaus.groovy.grails.web.pages' //  GSP
    
        warn   'org.apache.catalina'
    }