欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > SpringBoot开发——使用@Slf4j注解实现日志输出

SpringBoot开发——使用@Slf4j注解实现日志输出

2024/10/25 21:21:35 来源:https://blog.csdn.net/bjzhang75/article/details/142267597  浏览:    关键词:SpringBoot开发——使用@Slf4j注解实现日志输出

文章目录

  • 1、Lombok简介
  • 2、SLF4J简介
  • 3、实现步骤
    • 3.1 创建SpringBoot项目
    • 3.2 添加依赖
    • 3.3 使用 @Slf4j 注解
    • 3.4 输出日志信息
  • 4、结论

在现代Java开发中,日志记录是至关重要的。它不仅帮助开发者调试代码,还便于监控系统运行状态和性能。
LombokSLF4J 的结合提供了一种优雅的解决方案,可以极大地简化日志记录的过程。

1、Lombok简介

Lombok 是一个用于减少Java代码中常见冗余的库。它通过注解来自动插入开发者通常需要手动编写的代码,如gettersetter构造函数等。对于日志记录,Lombok 提供了一个 @Slf4j 注解,可以自动创建一个 Logger 实例

2、SLF4J简介

SLF4JSimple Logging Facade for Java)是一个日志框架的简单抽象层,允许最终用户在部署其应用时使用所希望的日志框架。SLF4J 的设计目标是简单和高效,它不提供任何具体的日志实现,而是作为一个接口存在,具体的实现可以是 LogbackLog4j 或其他。

3、实现步骤

3.1 创建SpringBoot项目

创建一个SpringBoot项目,选择Spring Web

3.2 添加依赖

pom.xml文件中添加Lombok依赖:

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.34</version>
</dependency>

3.3 使用 @Slf4j 注解

在类上使用 @Slf4j 注解,Lombok 将会自动创建一个名为 log静态 final Logger 对象

package com.log;import lombok.extern.slf4j.Slf4j;@Slf4j
public class MyLog {}

3.4 输出日志信息

现在可以自由地在代码中使用 log 变量来输出不同级别的日志信息了:

public void testLog(){log.trace("This is a trace message.");log.debug("This is a debug message.");log.info("This is a info message.");log.warn("This is a warn message.");log.error("This is a error message.");
}

运行后,控制台会看到信息:
在这里插入图片描述
怎么只有3条信息?前2条呢?因为默认的日志级别为infotrace和debug级别就没有显示出来。如果想更改日志级别,可以在application.yml文件配置日志打印级别,比如改成trace,如下:

logging:level:root: trace

重新启动服务,这次就会在日志中看到:
在这里插入图片描述
从控制台输出的结果可以初步分析出,trace级别最低,可以打印所有级别的日志。
在整个日志体系中,级别从低到高分为:TRACE < DEBUG < INFO < WARN < ERROR
级别越底,可打印的日志就更多;相反,级别越高,输出的日志就更少。
从实际情况来看,太多的日志打印也未必是一件好事,有时候会把服务器磁盘撑爆,导致服务宕机。
通常我们会配置INFO级别,在关键的位置打印相关信息即可。

4、结论

LombokSLF4J 的结合使用极大地简化了Java中的日志记录过程。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com