首页 > 解决方案 > 为我的项目创建像 Slf4j 这样的注释

问题描述

我一直在尝试用我的记录器复制@Slf4j 注释,我在网上查看了有关使用注释的指南和信息,但不知道如何将注释用于此特定目的。

Slf4j 注解在注解的类中创建一个记录器字段:

@Slf4j
public class Person {
   public void doThing() {
      log.info("logged a message"); 
      //log doesn't need to be defined in this class or instantiated manually. 
      //The annotation automatically does:
      //Logger log = Logger.getLogger(Person.class);
   }
}

如果我有自己的记录器,使用相同的方法 getLogger(String) 来实例化记录器,就像 Slf4j 一样,我如何创建一个注释“@MyLogger”,例如它将复制 Slf4j?

有关注释的更多信息: https ://howtodoinjava.com/spring-boot2/logging-with-lombok/

有人可以提供一个示例类,为下面的记录器类创建这个注释吗?我真的很困惑,无法让它工作。

public class Logger {

    public static Logger getLogger(Class<?> test) {
        return new Logger(); //for test purpose (how logger should be inited)
    }

    public void info(String test) {
    }


}

标签: javaspring-bootoopannotationsslf4j

解决方案


@Slf4jannotation 内置在 Lombok 中,因此您需要实现自己的 annotation

但是,正如您所见,它并不是很简单,而且您可能还是想使用标准的日志框架。


推荐阅读