我试图将单个包的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
,但我无法弄清楚。
答案 0 :(得分:1)
我通过将my.package.name
更改为grails.app.my.package.name
来解决此问题。