使用@Slf4j替代传统的日志打印

一、背景

我们在日常的项目中,经常会用到日志打印的功能,但是每次我们新创建一个Service或者Controller等类时,都需把下面这段代码拷贝过来,显得比较麻烦。今天介绍一种注解的方式打印日志,个人觉得还是比较方便的。

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

二、介绍

       今天介绍的注解是@Slf4j,只需在需要打印的类上面加这个注解,就可以使用log.info()、log.debug()等方法来打印日志了,下面介绍具体怎么使用。

      先贴一段代码,对比下有什么区别:

@Slf4j
public class ParentStaticClass {

    private final static Logger logger = LoggerFactory.getLogger(ParentStaticClass.class);

    /**
     * 传统方式的日志打印
     */
    @Test
    public void testOldLogger(){
        logger.info("aaaa");
        logger.debug("bbb");
        logger.warn("cccc");
    }

    /**
     * 通过@Slf4j注解方式的日志打印
     */
    @Test
    public void testNewLogger(){
        log.info("aaaa");
        log.debug("bbb");
        log.warn("cccc");
    }
    
}

区别:

     1.传统方式日志打印需要定义个logger静态常量,通过LoggerFactory.getLogger(xxx.class)来初始化静态常量logger;然后通过logger来获取对应的方法来打印日志。

     2.@Slf4j注解的话,只需要在类上面加上注解就好了,然后直接输入log,就能获取到log对应的方法。

3.前期准备

    1.使用@Slf4j注解,首先需要在项目中引入依赖:

<dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.10</version>
      <scope>provided</scope>
</dependency>

   2.在IDEA中安装lombok插件。在file-setting-plugins中输入lombok搜索安装,然后重启IDEA

  3.设置Enable annotation processing

 4.上面都设置完之后会发现,使用log时找不到info()、debug()、warn()等方法,此时需要引入另外一个依赖

<dependency>
     <groupId>org.slf4j</groupId>
     <artifactId>slf4j-api</artifactId>
     <version>1.8.0-beta2</version>
</dependency>

4.总结

      本人在使用的时候,刚开始没有引入slf4j的api,导致使用log时找到info()、debug()、warn()等方法。希望大家在使用的时候注意下这个问题。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JAVA菜鸟程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值