grails - 如何将Grails Log4J设置为仅记录来自应用程序的信息级别

标签 grails configuration 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应用程序的信息日志,而仅保留依赖项中的错误日志?

最佳答案

Is it possible to just print out the info logs of the grails app, and keep only printing error logs from dependencies?


是。如果需要,可以单独配置每个记录器。
我希望您遇到的问题与info 'grails.app'有关,后者配置了过多的记录器。如果扩展该前缀,则可以缩小受影响的记录器的范围。例如,如果要配置 Controller ,则可以执行info 'grails.app.controllers'之类的操作。如果愿意,可以做得更具体一些,例如info 'grails.app.controllers.com.yourcompany'等。您可以对要配置的任何 Artifact 类型进行相同的操作。

关于grails - 如何将Grails Log4J设置为仅记录来自应用程序的信息级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63364965/

相关文章:

exception - 同时以错误级别记录每个异常

java - 在ServletContextListener中访问 session 变量

grails - 通过字符串将对象转换为特定类

java - 在java中处理特定于环境的配置的最佳方法是什么?

php - 更改整个应用程序的默认 URL 或路径?

linux - Log4J 日志消息被记录到 grails 应用程序的应用程序日志和标准输出

java - Log4J 滚动日志授予对 Windows 的访问权限 "Everyone"

grails - Grails 2.4.4 Criteria query issue,没有这样的属性:Criteria类的规范:grails.orm.HibernateCriteriaBuilder

PHP 文件由浏览器下载,而不是由本地开发服务器 (MAMP) 处理

java - log4j 将 "sg"添加到每个记录行