LoginSignup
3
2

More than 5 years have passed since last update.

[Grail3]でログ出力

Last updated at Posted at 2015-06-18

2016/05/21 追記

@nobeansさんのご指摘通り、クラスに埋め込まれているlogオブジェクトにて、ログ出力できます。
詳細はコメントをご覧ください。

いつもの感じで

なんか便利なアノテーションがあるのかなと思って探していたのですが、見つからず。
Slf4jでフツーに書くみたいです。

TestController.groovy
package testgrails1

import org.slf4j.LoggerFactory

class TestController {

    private final static def logger = LoggerFactory.getLogger(TestController.class);

    def index() { 
        logger.info("hello")
        render(view:'index')
    }
}

設定は、logback.groovyです。

grails-app/conf/logback.groovy
import grails.util.BuildSettings
import grails.util.Environment


// See http://logback.qos.ch/manual/groovy.html for details on configuration
appender('STDOUT', ConsoleAppender) {
    encoder(PatternLayoutEncoder) {
        pattern = "[%level] [%logger] - %msg%n"
    }
}

//root(INFO, ['STDOUT'])
// testgrails1パッケージは、INFOレベルで出力
logger("testgrails1", INFO, ["STDOUT"])

if(Environment.current == Environment.DEVELOPMENT) {
    def targetDir = BuildSettings.TARGET_DIR
    if(targetDir) {

        appender("FULL_STACKTRACE", FileAppender) {

            file = "${targetDir}/stacktrace.log"
            append = true
            encoder(PatternLayoutEncoder) {
                pattern = "%level %logger - %msg%n"
            }
        }
        logger("StackTrace", ERROR, ['FULL_STACKTRACE'], false )
    }
}



3
2
7

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2