【问题标题】:Grails 1.1 and how to info level loggingGrails 1.1 以及如何信息级别日志记录
【发布时间】:2009-11-19 02:02:51
【问题描述】:

我现在使用哪个设置在我自己的控制器中使用“log.info”语句生成日志输出?

这是我在 config.groovy 中设置的内容,我认为将我的域放在信息级别下会起作用,但事实并非如此。也不会将 groovy.grails.web.* 包放在 info 部分下..

log4j = {
    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'

    warn   'org.mortbay.log'           

    info   'com.mydomain.someproject'
}

【问题讨论】:

    标签: grails intellij-idea


    【解决方案1】:

    事实证明,我还需要将“grails.app”添加到我的信息部分:

    info 'grails.app',       // Logging warnings and higher for all of the app
    

    我的配置现在看起来更像这样:

    log4j = { 
    
        info 'grails.app',                 // Logging warnings and higher for all of the app
         '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
    
        warn 'org.mortbay.log'
    
        error 'org.codehaus.groovy.grails.commons',    // core classloading
           'org.codehaus.groovy.grails.plugins',       // plugins
           'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
           'org.springframework',                      // spring framework
           'org.hibernate'                             // hibernate framework
    }
    

    【讨论】:

      【解决方案2】:

      您必须告诉 grails 您希望它专门记录什么。您不能记录特定的类层次结构。例如,您将使用以下内容来记录控制器。

      info  'org.codehaus.groovy.grails.web.servlet',  //  controllers
      

      您可以将根记录器设置为在信息级别记录,但您将获得包括 Hibernate 在内的所有内容。有关您可以记录的内容的信息,请参阅此链接上的 grails 手册的第 3.21 节。 http://grails.org/doc/1.1.x/guide/3.%20Configuration.html#3.1.2%20Logging

      【讨论】:

      • 我扩展了我最初的问题,所以我为 log4j 配置设置的项目的完整列表是问题的一部分。这些是 grails create-app 生成的默认值。我添加的部分是我在“信息”下的域类根。
      • 你仍然需要按照 Jared 所说的去做。目前 'org.codehaus.groovy.grails.web.servlet' 被设置为错误(默认)。您需要手动将其更改为信息。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 2012-05-24
      • 1970-01-01
      相关资源
      最近更新 更多