Springboot项目中写日志很简单

Springboot最大的优点是简便。写应用程序需要的常规功能,它都集成进来,还做了默认配置。写日志这件事情直接就可以上手。
例如在springboot项目中的一段测试代码中用日志输出生成的UUID

package com.jpin.wateraffair.utils;

import org.junit.Assert;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class UUIDGeneratorTest {

    private static final Logger LOGGER = LoggerFactory.getLogger(UUIDGenerator.class);

    @Test
    public void genUUID() {
        String uuid = UUIDGenerator.genUUID();
        Assert.assertNotNull(uuid);
        LOGGER.info("uuid:{}", uuid);
        Assert.assertFalse(uuid.contains("-"));
    }
}

我们的Springboot项目中使用了spring-boot-starter-web, 根据 Springboot官方文档,这个项目也就引入了 logback的jar包。
上面的代码中用了 org.slf4j.Logger, 实际使用了logback进行了日志打印。
slf4j 和 loggback 是啥关系?

关于Java的各种日志框架

实际上Java可用的日志框架和jar有很多,很容易搞蒙。例如 apache的Jakarta Commons Logging、 java自带的Log工具Java Util Logging、log4j、logback等等。

实际上他们是有渊源的:

  • 最早出来的一套是 Log4j,还有人建议Sun公司把Log4j放到JDK中去,毕竟写日志是基础功能,但是Sun公司没同意。
  • 然后Sun公司按照Log4j的思路,自己搞了一套叫 Java Util Logging
  • 然后Apache跳出来说现在有两套写日志的框架了,写法不一样。我来搞个标准接口,程序员用这一套标准接口就好了。Log4j和JUL作为标准接口的两种实现,可以随时切换。这台标准接口叫 Jakarta Commons Logging
  • 后来写 Commons Logging的程序员Ceki Gülcü 从Apache离职,重新搞了一套接口 slf4j, 比起commons-logging说是又简单又快。和老东家一样支持Log4j和JUL做为接口实现。此外他还新加了一种实现叫 logback

在这里插入图片描述

选哪个?

当然是logback, 既然springboot团队的高手都选了它,我们就不犹豫了。 如果这个理由不充分的话,只能用 logback自己的广告语了,它可靠(Reliable)、速度快(Fast)。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值