Grails 日志记录自动注入

Grails logging auto inject

我使用 grails 3.0.2 和 logback。我如何在我的代码中使用这个记录器,我能以某种方式自动注入它吗,比如 grails 2.x 中的 log.debug() 正在使用 org.apache.commons.logging.Log?

在您的 class 上添加 @Slf4j 注释。

This local transform adds a logging ability to your program using LogBack logging. Every method call on a unbound variable named log will be mapped to a call to the logger. For this a log field will be inserted in the class. If the field already exists the usage of this transform will cause a compilation error. The method name will be used to determine what to call on the logger.

log.name(exp)
is mapped to

if (log.isNameLoggable() {
   log.name(exp)
}

Here name is a place holder for info, debug, warning, error, etc. If the expression exp is a constant or only a variable access the method call will not be transformed. But this will still cause a call on the injected logger.