如何解决如何将Grails Log4J设置为仅记录来自应用程序的信息级别
我在grails 2.4.2应用程序中将log4j设置为基本级别。每当有错误级别日志时,它将打印到控制台/写入文件。现在,我想返回并将其设置为同时从我的应用程序记录信息级别日志。我的配置如下所示:
log4j = {
// Example of changing the log pattern for the default console appender:
//
//appenders {
// console name:'stdout',layout:pattern(conversionPattern: '%c{2} %m%n')
//}
appenders {
environments {
production {
rollingFile name: "stacktrace",maxFileSize: "10MB",maxBackupIndex:2,file:"/tmp/logs/stacktrace.log"
}
}
}
info 'grails.app'
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'
}
问题是,当我也将root用户设置为日志信息级别日志时,我会从所有grails依赖项中写入信息日志。这使得不可能跟踪和跟踪信息日志中的任何内容。是否可以只打印出grails应用程序的信息日志,并仅保留依赖项中的打印错误日志?
解决方法
是否可以仅打印grails应用程序的信息日志,并且 仅保留依赖项中的打印错误日志?
是的。您可以根据需要单独配置每个记录器。
我希望您遇到的问题与info 'grails.app'
有关,后者配置了过多的记录器。如果扩展该前缀,则可以缩小受影响的记录器的范围。例如,如果要配置控制器,则可以执行类似info 'grails.app.controllers'
的操作。如果您愿意,可以做更具体的事情,例如做info 'grails.app.controllers.com.yourcompany'
等。您可以对要配置的任何工件类型进行相同的操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。