Spring Boot之更简洁使用日志

文章目录

    • 1 原始日志用法
      • 缺点:
    • 2 优化版
      • 2.1 引入pom包:
    • 2.2 使用
    • 2.3 对比

1 原始日志用法

springboot项目中使用@Slf4j,一般如下:

private static final Logger log = LoggerFactory.getLogger(xxx.class);

log.info("");

缺点:

每个类中需要根据类名去实例化,比较繁琐。

2 优化版

引入lombok后,直接在类上注解。遵循了Sping Boot约定大于配置的原则。

2.1 引入pom包:

           
                org.projectlombok
                lombok
                1.16.20
            

ps, IDEA需要在安装lombok插件。

2.2 使用

引入lombok后,可直接在类头加注解@slf4j,可以开始使用实例化的log了。
示例如下:

@Slf4j(topic = "meta.sync")       //topic作用是对日志基于自己需求分类,默认是以类名分类的
public class MetaSync {
...
log.info("start...");
}

topic作用是对日志基于自己需求分类,默认是以类名分类的,下面是它的源码:

public @interface Slf4j {
	/** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */
	String topic() default "";
}

2.3 对比

不妨直观的看一下加@topic注解的前后对比吧:

@Slf4j(topic = “meta.sync”) 打印的日志会展示如下:

  91 2019-12-16 03:09:49,700 INFO  [http-nio-0.0.0.0-7988-exec-2] meta.sync : start..

@Slf4j 打印日志格式如下:

   92 2019-12-16 03:09:49,700 INFO  [http-nio-0.0.0.0-7988-exec-2] sync.MetaSync : start...

当然lombok的可用之处还很多,例如减少实体类的get、set方法及构造函数等。后续有时间再做介绍。

你可能感兴趣的:(Spring,Boot)