我有一个 Groovy 库,它使用 Groovy 提供的 @Slf4j
注释进行日志记录:
@Slf4j
class SomePogo {
// do stuff
}
如果我将这个库放到 Grails (2.4.2) 应用程序中,默认的基于 log4j 的日志系统会获取这些类中的日志语句吗?还是我需要将 log4j 记录器添加到我的所有类(class)中?
最佳答案
所有 Grails 工件( Controller 、域类、标记库、服务等)都自动添加了一个静态记录器字段(名为 log
)。
src/groovy
中的类也自动添加了一个名为 log
的记录器字段,但在这种情况下,记录器是非静态的。因此,唯一需要显式添加记录器的情况是,如果您想从 src/groovy
类中静态 记录某些内容。在这种情况下,您需要注释类 @Slf4j
(或 @Log4j
)以便将 Grails 添加的非静态记录器替换为静态 日志
字段。
关于grails - Slf4j 注释可以在 Grails 中工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27068376/