1

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

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'
}

感谢帮助。

4

1 回答 1

0

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

  1. 两个附加程序中的文件属性相同

    file: "logs/dev/${Metadata.current.'app.name'}##${Metadata.current.'app-version'}-error.log",
    
  2. 缺少日志级别的块(请参阅在此处输入链接描述

    log4j = {
        error  'org.codehaus.groovy.grails.web.servlet',  //  controllers
               'org.codehaus.groovy.grails.web.pages' //  GSP
    
        warn   'org.apache.catalina'
    }
    
于 2017-10-05T07:44:28.730 回答