【发布时间】:2014-08-20 16:12:35
【问题描述】:
通过添加以下 Spring bean,我已将 Grails 应用程序配置为从 /conf/log4j.properties 文件而不是 Config.groovy 中更常见的 DSL 读取 log4j 配置:
log4jConfigurer(MethodInvokingFactoryBean) {
targetClass = "org.springframework.util.Log4jConfigurer"
targetMethod = "initLogging"
arguments = ["/conf/log4j.properties", 1000 * 60] // 2nd arg is refresh interval in ms
}
我的目标是在 DEBUG 级别记录应用程序本身中的所有类,并在 WARN 级别记录所有其他类。 /conf/log4j.properties 包含以下内容:
log4j.logger.com.myapp=DEBUG, CONSOLE
log4j.logger.grails.app=DEBUG, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-5p myapp %c{3} %d{HH:mm:ss,SSS} %t : %m%n
似乎命名空间com.myapp 用于我的应用程序中的常规类(例如src/groovy 下的那些),而命名空间grails.app 用于Grails 人工制品(控制器、服务、标记库等)。但是grails.app 命名空间还包括来自插件的人工制品,我不想在 DEBUG 级别记录。
有没有办法仅为我的应用程序中的类启用调试日志记录?
【问题讨论】: