Groovy依赖注入

时间:2012-07-04 10:16:43

标签: java grails groovy dependency-injection

我想在我的所有具有log属性的类中注入一个Log4j Logger(或者在通用性的情况下):

def log

这是在Grails中自动完成的。我想在普通的groovy应用程序中使用相同的功能,比如src下的所有groovy文件。 Log4j的专长是,记录器需要知道要记录的类。 (Logger.getLogger(Class clazz)

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:11)

您是否在Groovy 1.8中看到了@Log annotation added

答案 1 :(得分:3)

Groovy使用类上的@Log4j annotation为此提供本机支持。这将创建一个指向Log4J Logger的log字段,其名称与所讨论的类相同,即:

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)
}