Slf4j + Lombok + 附加日志记录器

5
我想使用 lombok + @Slf4j 在我的类中添加另一个记录器。 目前,我正在使用 @Slf4j,它创建了以下内容:

private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class).

我正在使用它进行标准日志记录,我想为类创建另一个记录器以进行特定的日志记录。

private static final Logger testLog = LoggerFactory.getLogger(LogExample.class.getName()+".TestLog")

将特定日志输出到单独的文件中。这可以手动完成。如何使用 lombok @Slf4j 进行配置呢?
1个回答

2

看起来Lombok没有这个功能:这里有一个问题

也许在未来我们会有这个有用的功能。

但是,如果您正在使用CDI框架,则可以在代码中注入额外的记录器。

J2EE方式:

@Produces
Logger produceLogger(InjectionPoint injectionPoint) {
    return LoggerFactory.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
}

注入攻击:

@Inject
private Logger auxLogger;

Spring方式:

@Bean
@Scope("prototype")
Logger logger(InjectionPoint injectionPoint){
    return LoggerFactory.getLogger(injectionPoint.getMethodParameter().getContainingClass());
}

使用以下方法进行注入:

@Autowired
private Logger auxLogger;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接