Grails > ログの設定
更新日
2014-11-07
広告
ログファイルのローテーション
ログファイルをローテーション(ログファイルのサイズが一定サイズになると、新しいログファイルを作成)する方法を紹介します。 grails-app/conf/Config.groovyにて、以下のように設定します。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', 'net.sf.ehcache.hibernate' appenders { rollingFile name:'file', file:'./logs/myapp.log' console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n') } root { error 'stdout', 'file' } }'rollingFile' の一行で、ローテーションが行われます。
static loggerによるログ出力
コントローラなどでログを出力する場合は、'log'というインスタンス変数が自動的に生成されるので、それを使えばログを出力できます。 それ以外のクラスでログを出力する場合は、以下のように、staticロガーを用意する必要があります。package some.package import org.apache.commons.logging.LogFactory class PaginationUtils { private static final log = LogFactory.getLog(this) }conf/Config.groovyでは、以下のようにログレベルを設定します。
log4j = { debug 'some.package'コントローラやドメインの場合は、'grails.app.controllers'や'grails.app.domains'のようなプレフィックスを指定する必要がありますが、staticロガーの場合は不要です。
広告
お問い合わせは sweng.tips@gmail.com まで。