Azd*_*der 18 grails groovy logging dependency-injection
我的grails项目中有一个src/groovy类.
如何创建一个注入了该类正确记录器的日志字段?
有没有公共记录或只是log4j grails?
Dón*_*nal 47
一个更Groovy方法来做同样的事情是:
private static log = LogFactory.getLog(this)
Run Code Online (Sandbox Code Playgroud)
这利用了this在静态上下文中引用Class对象的事实,因此上面的行可以从一个类复制粘贴到另一个类而无需修改.
使用Groovy 1.8中引入的@Log4j注释.这将添加一个log属性
import groovy.util.logging.Log4j
@Log4j
class MyClass {
def doIt() {
log.info 'hello'
}
}
Run Code Online (Sandbox Code Playgroud)
使用注释的一个好处是记录器会自动转换这样的调用:
log.info 'hello'
Run Code Online (Sandbox Code Playgroud)
至:
if (log.isInfoEnabled() {
log.info 'hello'
}
Run Code Online (Sandbox Code Playgroud)
Bur*_*ith 10
你可以像普通的Java类一样添加它:
Logger log = Logger.getLogger(getClass()) // log4j
Run Code Online (Sandbox Code Playgroud)
要么
Log log = LogFactory.getLog(getClass()) // commons logging
Run Code Online (Sandbox Code Playgroud)