我现在使用哪种设置在我自己的控制器中使用'log.info'语句生成日志输出?
这是我在config.groovy中设置的内容,我认为将我的域名放在信息级别下可以解决问题,但事实并非如此。也没有在信息部分下放置groovy.grails.web。*包..
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'
}
答案 0 :(得分:3)
事实证明我还需要在我的信息部分添加'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
}
答案 1 :(得分:1)
你必须告诉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