【发布时间】:2014-10-28 08:49:11
【问题描述】:
我正在尝试将单个包的 log4j 输出重定向到文件。我的配置如下:
log4j = {
appenders {
console name:'stdout'
appender new DailyRollingFileAppender(
name: 'audit',
datePattern: "'.'yyyy-MM-dd",
fileName: "${userHome}/${applicationName}.log",
layout: pattern(conversionPattern: '%d [%t] %-5p %c{2} %x - %m%n')
)
}
root {
error 'stdout'
}
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',
'StackTrace',
'org.hibernate.type',
'org.hibernate.SQL',
'Hibernate',
'org.hibernate.type.descriptor.sql.BasicBinder'
debug 'grails.app' // set logging for all grails artifacts
info audit:
'my.package.name', additivity: false
}
不知何故,my.package.name 包的日志没有写入文件,而是写入stdout。当我将audit 记录器放入我的root 配置时,日志记录被写入文件,但其他类的日志记录也写入此文件,这是我不想要的。
我只想将my.package.name 的日志输出写入文件,所有其他日志都可以转到stdout。我试过玩additivity,但我想不通。
【问题讨论】: