5

Log4j Logger(または一般的な場合は任意のクラス)を、logプロパティを持つすべてのクラスに注入したいと思います。

def log

これはGrailsで自動的に行われます。通常のgroovyアプリでも同じ機能が必要です。たとえば、の下にあるすべてのgroovyファイルについて説明しますsrc。Log4jの特徴は、ロガーがログに記録するクラスを知る必要があることです。(Logger.getLogger(Class clazz)

どうすればこれを達成できますか?

4

2 に答える 2

11

Groovy 1.8 で@Log 追加されたアノテーションを見たことがありますか?

于 2012-07-04T10:26:57.293 に答える
4

Groovy は、クラスの@Log4j注釈を使用して、これをネイティブにサポートします。これにより、log問題のクラスと同じ名前の Log4J ロガーを指すフィールドが作成されます。つまり、次のようになります。

package com.example
import groovy.util.logging.Log4j

@Log4j
public class LogExample {
}

と同等です

package com.example
public class LogExample {
  private static final Logger log = Logger.getLogger(LogExample.class)
}
于 2012-07-04T10:33:02.660 に答える