资讯专栏INFORMATION COLUMN

Spring Boot 2.x(八):日志框架的选择和使用

lpjustdoit / 844人阅读

摘要:我们为啥要用日志最初我们开始接触的时候,我们通常会使用将我们想要知道的信息打印到控制台。为什么是默认情况下,会用来记录日志,并用级别输出到控制台。

我们为啥要用日志?

最初我们开始接触Java的时候,我们通常会使用System.out.println()将我们想要知道的信息打印到控制台。
但是,如果在服务器上我们去运行我们的Java程序,这个时候就凸显了日志对于一个系统来说的重要性,查找异常信息、分析系统运行情况等都需要用到日志。

为什么是SLF4J?

默认情况下,Spring Boot会用SLF4J + Logback来记录日志,并用INFO级别输出到控制台。

SLF4J,即简单日志门面(Simple Logging Facade for Java),它可以看做是一个接口框架,并不提供具体的实现,具体的实现由类似于Log4jLog4j2Logback等等这样的日志框架去完成。

我们为什么要在实际的应用中去使用SLF4J的API呢?
在阿里巴巴的开发手册上也给我们明确【强制】规定了

而百度百科上也给出了相应的解释:

SLF4J让你的代码独立于任何特定的日志记录API,可以让我们的程序更加的健壮,不会让你因为不同日志的实现而导致的问题去分心。

使用SLF4J的另外一个理由就是,它可以支持占位符

String name = "Vi";
logger.debug("My Name is {}", name);

这段程序在运行时刻才会拿到name这不仅缩减了代码中的许多字符串连接,而且减少了创建String对象所需要的堆内存资源

怎么使用SLF4J?

如果我们在一个Spring Boot 的程序中去使用SLF4J,我们不需要去引入其他的包,因为我们引入的有关spring-boot-starter中就已经包含了有关slf4j的jar包。我们只需要通过LoggerFactory去获取即可:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
...
private static final Logger logger = LoggerFactory.getLogger(ResponseAop.class);

这里需要注意看我们选择的是不是slf4j包下的Logger,不要选错了哟。

配合Lombok使用@Slf4j

首先在pom.xml中添加Lombok的依赖:

        
           org.projectlombok
            lombok
            true
        

然后打开IDEA的设置项,在Plugins中查找:

注意安装插件后记得重启使其生效!

然后,我们在项目中就可以这样去使用:

@Slf4j
public class Slf4JTest {
    public static void main(String[] args) {
        log.info("This is a Slf4jTest");
    }
}
关于日志的配置

这里我就偷个懒,因为网上一搜一大堆,但是实际上你用的时候还是要根据自己的项目的情况进行使用的(你可以关注我,我会在后面的项目实战中去配置,并给出源码)。

这里需要注意一点:默认情况下,Spring Boot将日志输出到控制台,不会写到日志文件。如果要编写除控制台输出之外的日志文件,则需在application.yml中设置logging.filelogging.path属性。但是这俩属性同时配置的时候,只有logging.file生效!
公众号

原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75710.html

相关文章

  • Java 程序员必备 15 个框架,前 3 个地位无可动摇!

    摘要:官网源码推荐从开始手写一个框架更多请在技术栈微信公众号后台回复关键字。是一个开放源代码的对象关系映射框架,它对进行了非常轻量级的对象封装,它将与数据库表建立映射关系,是一个全自动的框架。 Java 程序员方向太多,且不说移动开发、大数据、区块链、人工智能这些,大部分 Java 程序员都是 Java Web/后端开发。那作为一名 Java Web 开发程序员必须需要熟悉哪些框架呢? 今天...

    galaxy_robot 评论0 收藏0
  • spring boot - 收藏集 - 掘金

    摘要:引入了新的环境和概要信息,是一种更揭秘与实战六消息队列篇掘金本文,讲解如何集成,实现消息队列。博客地址揭秘与实战二数据缓存篇掘金本文,讲解如何集成,实现缓存。 Spring Boot 揭秘与实战(九) 应用监控篇 - HTTP 健康监控 - 掘金Health 信息是从 ApplicationContext 中所有的 HealthIndicator 的 Bean 中收集的, Spring...

    rollback 评论0 收藏0
  • Spring Boot 自定义日志详解

    摘要:定制日志文件简单的日志配置不能满足实际项目需求,那可以通过引用定制日志文件的形式达到目的。能根据类路径下的类库和配置文件自动配置对应的日志框架。看到这里,相信你对的日志应该有了一个全面的了解。 本节内容基于 Spring Boot 2.0. 你所需具备的基础 什么是 Spring Boot? Spring Boot 核心配置文件详解 Spring Boot 开启的 2 种方式 Spr...

    baishancloud 评论0 收藏0
  • 吐血整理 20 道 Spring Boot 面试题,我经常拿来面试别人!

    摘要:你如何理解中的可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成及其他技术,而不需要到处找示例代码和依赖包。如你想使用访问数据库,只要加入启动器依赖就能使用了。 面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望。 下面,我给大家总结...

    haoguo 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<