SpringBoot集成@Slf4j

背景

当前采用SpringBoot架构进行打印日志,会有很多的方式,其中推荐使用SpringBoot自带的工具Slf4j该工具使用起来很方便。

SpringBoot整合@Slf4j

1.需要安装的工具

我们采用的是IDEA开发工具,所以这里我们要安装工具:

Lombok工具

2.然后需要添加的依赖包:

<!--        该依赖是针对日志的相关包-->
 <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.10</version>
</dependency>

3.测试类SpringBootTest中的使用:

在这里插入图片描述

4.具体的使用:

首先具体的使用分为多种情况,但是我们在开发中主要涉及到的就是两种:

1) 可以打印string字符串。

2)或者是string字符串拼接对象。

@Slf4j
@RestController
public class GuoBiaoSynController {
    @PostMapping("/gcg")
    public void getInfo(@RequestBody JSONObject jsonObject) {
        String temp = JSON.toJSONString(jsonObject);
        log.info("国标云请求体:{}", jsonObject);      //直接string + 对象
        log.info(JSON.toJSONString(jsonObject));
        log.info("00000000000000000");
        log.info(jsonObject.getString("Header"));
 
    }
}

注意点:
其实在开发中比较常用的就是打印Object对象,但是打印Object对象就要采用string拼接的方式,这种方式要有{}符号,因为达表示将要输出的东西进行了包装放进{}中。

普通类整合@Slf4j

依赖已引入,直接开干就行:

@Slf4j
public class DateUtils {
    private static final String DATE_TIME_FORMATTER = "yyyy-MM-dd HH:mm:ss";

    public static final String SECOND = "SECOND";

    public static final String MINUTE = "MINUTE";

    public static final String HOUR = "HOUR";
    
     /**
     * 功能描述:获取两个时间的间隔。
     * 日志声明:调用的每个方法,都必须有日志留痕。
     * 异常声明:捕获异常,返回指定结果。
     *
     * @param startTime startTime
     * @param finishTime finishTime
     * @param dateType 类型
     * @return 间隔 ? null
     */
    public static Long getDuration(@NonNull String startTime,
                                   @NonNull String finishTime,
                                   @NonNull String dateType) {
        Long result = null;
        try{
            LocalDateTime startLocalDateTime = LocalDateTime.parse(startTime, DateTimeFormatter.ofPattern(DATE_TIME_FORMATTER));
            LocalDateTime finishLocalDateTime = LocalDateTime.parse(finishTime, DateTimeFormatter.ofPattern(DATE_TIME_FORMATTER));
            Duration duration = Duration.between(startLocalDateTime, finishLocalDateTime);
            switch (dateType) {
                case HOUR:
                    result = duration.toHours();
                case MINUTE:
                    result = duration.toMinutes();
                case SECOND:
                    result = duration.getSeconds();
                default:
                    result = 0L;
            }
        }catch (Exception e) {
            log.error("[]. RESULT. startTime:[{}], finishTime:[{}]", startTime, finishTime, e);
            result = null;
        }
        log.info("[]. RESULT. startTime:[{}], finishTime:[{}], duration:[{}]", startTime, finishTime, result);
        return result;
    }

    public static void main(String[] args) {
        System.out.println(getCurrentDateTime());
    }

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@来杯咖啡

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

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

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

打赏作者

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

抵扣说明:

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

余额充值