我正在尝试分离信息,警告和错误日志,我做了以下配置,但在信息文件继续记录同一文件上的其他类型的日志,我已经尝试搜索其他主题但我没有找到解决方案,任何人都可以提供帮助吗?
def logLayoutPattern = new PatternLayout("%d{yyyy-MM-dd/HH:mm:ss.SSS} %x %-5p %c{2} - %m%n")
appenders {
appender new DailyRollingFileAppender(name: "perfil",threshold: Level.INFO,file: "/tmp/logs/file_perfil.log",datePattern: "'.'yyyy-MM-dd",layout: logLayoutPattern)
appender new DailyRollingFileAppender(name: "errors",threshold: Level.ERROR,file: "/tmp/logs/file_errors.log",datePattern: "'.'yyyy-MM-dd",layout: logLayoutPattern)
appender new DailyRollingFileAppender(name: "warn",threshold: Level.WARN,file: "/tmp/logs/file_warn.log",datePattern: "'.'yyyy-MM-dd",layout: logLayoutPattern)
}
info perfil: ["grails.app.controllers.com.app.PerfilController"]
warn warn: 'grails.app'
error errors: ['org.codehaus.groovy.grails.web.servlet',
'org.codehaus.groovy.grails.web.pages',
'org.codehaus.groovy.grails.web.sitemesh',
'org.codehaus.groovy.grails.web.mapping.filter',
'org.codehaus.groovy.grails.web.mapping',
'org.codehaus.groovy.grails.commons',
'org.codehaus.groovy.grails.plugins',
'org.codehaus.groovy.grails.orm.hibernate',
'org.springframework',
'org.hibernate',
'net.sf.ehcache.hibernate']
root {
error 'errors'
additivity = false
warn 'warn'
additivity = false
info 'perfil'
additivity = false
}
答案 0 :(得分:3)
您需要在自定义附加程序而不是根记录程序上添加additivity: false
。
这样的东西就足够了:
info perfil: ["grails.app.controllers.com.app.PerfilController"]
additivity: false
warn warn: 'grails.app'
additivity: false
error errors: ['org.codehaus.groovy.grails.web.servlet',
'org.codehaus.groovy.grails.web.pages',
'org.codehaus.groovy.grails.web.sitemesh',
'org.codehaus.groovy.grails.web.mapping.filter',
'org.codehaus.groovy.grails.web.mapping',
'org.codehaus.groovy.grails.commons',
'org.codehaus.groovy.grails.plugins',
'org.codehaus.groovy.grails.orm.hibernate',
'org.springframework',
'org.hibernate',
'net.sf.ehcache.hibernate']
additivity: false
root {
error 'errors'
warn 'warn'
info 'perfil'
}
默认情况下,所有记录器都从根继承,默认情况下,additivity为true。