0

サービスでロギングを機能させる唯一の方法は、これをサービスに追加することです。

class MyService {
def log = LogFactory.getLog(getClass())
...

Config.groovy の log4j 設定:

log4j = {

    PatternLayout patternLayout = new PatternLayout("%d [%t] %-5p %c %x - %m%n")


    debug   'grails.app.controllers',
            'grails.app.controller',
            'grails.app.domain',
            'grails.app.service',
            'grails.app.filters',
            'com.mycompany'
//            'org.springframework.security'
            'org.hibernate.SQL'

    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'

    appenders {
        appender new org.apache.log4j.ConsoleAppender(name: "console",
                threshold: org.apache.log4j.Level.DEBUG,
                layout: patternLayout
        )
    }
    root {
        error 'stdout'
        additivity = true
    }
}

先頭に def log... を追加しなくても、サービスでロギングが機能すると思っていたでしょう。

4

1 に答える 1