我想将一个 Log4j Logger(或者在一般情况下为任何类)注入到我所有具有 log 属性的类中:
def log
这是在 Grails 中自动完成的。我想在普通的 groovy 应用程序中具有相同的功能,假设所有 groovy 文件在src
. Log4j 的特点是,记录器需要知道要记录的类。( Logger.getLogger(Class clazz)
)
我怎样才能做到这一点?
我想将一个 Log4j Logger(或者在一般情况下为任何类)注入到我所有具有 log 属性的类中:
def log
这是在 Grails 中自动完成的。我想在普通的 groovy 应用程序中具有相同的功能,假设所有 groovy 文件在src
. Log4j 的特点是,记录器需要知道要记录的类。( Logger.getLogger(Class clazz)
)
我怎样才能做到这一点?
你见过Groovy 1.8 中@Log
添加的注解吗?
@Log4j
Groovy 使用类上的注解对此提供本机支持。这将创建一个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)
}