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

@Log4jGroovy 使用类上的注解对此提供本机支持。这将创建一个log指向 Log4J Logger 的字段,该字段与所讨论的类同名,即:

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 回答