我有一个使用Groovy提供的@Slf4j
注释记录的Groovy库:
@Slf4j
class SomePogo {
// do stuff
}
如果我将这个lib放到Grails(2.4.2)应用程序中,那么基于log4j的默认日志系统是否会在这些类中获取日志语句?或者我是否需要将log4j记录器添加到我的所有类中?
答案 0 :(得分:6)
所有Grails工件(控制器,域类,标签库,服务等)都会自动添加一个静态记录器字段(名为log
)。
src/groovy
中的类也自动添加了一个名为log
的记录器字段,但在这种情况下,记录器是非静态的。因此,如果您想从src/groovy
类中记录静态,那么您唯一需要显式添加记录器的时间就是这样。在这种情况下,您需要对类@Slf4j
(或@Log4j
)进行注释,以便将Grails添加的非静态记录器替换为静态log
字段。