Slf4j注释会在Grails中运行吗?

时间:2014-11-21 18:57:42

标签: grails logging groovy log4j slf4j

我有一个使用Groovy提供的@Slf4j注释记录的Groovy库:

@Slf4j
class SomePogo {
    // do stuff
}

如果我将这个lib放到Grails(2.4.2)应用程序中,那么基于log4j的默认日志系统是否会在这些类中获取日志语句?或者我是否需要将log4j记录器添加到我的所有类中?

1 个答案:

答案 0 :(得分:6)

所有Grails工件(控制器,域类,标签库,服务等)都会自动添加一个静态记录器字段(名为log)。

src/groovy中的类也自动添加了一个名为log的记录器字段,但在这种情况下,记录器是非静态的。因此,如果您想从src/groovy类中记录静态,那么您唯一需要显式添加记录器的时间就是这样。在这种情况下,您需要对类@Slf4j(或@Log4j)进行注释,以便将Grails添加的非静态记录器替换为静态log字段。