在非 bean 中使用 @Slf4j class

Use @Slf4j in a non-bean class

下面是一个例子。由于我的项目有很多非 bean 类 深度嵌套,因此在不通过参数传递记录器的情况下将记录器注入非 bean 实例的最佳方法是什么?

import lombok.extern.slf4j.Slf4j;

@Slf4j
@Component
public class SpringComponent {

    public String test() {
        log.info("method test called");
        A a = new A();
        a.run();
    }
}

public class A {

   public String run() {
        // I want to log here using Slf4j
    }
}

如果我没记错的话@Slf4j 也适用于非 bean 类。 您可以使用它,如下所示。

@Slf4j
public class A {

public String run() {
    log.info("logging works");
   }
}