SpringBoot如何设置不输出Info日志

本篇文章将带您了解如何在SpringBoot项目中关闭Info级别日志输出。

一、为什么要关闭Info日志

在开发中,我们经常会使用Log4j、Logback等框架来输出日志信息,而默认情况下SpringBoot会输出一些Info级别的日志,这些日志信息通常用于调试,但有时候它们会占据大量的控制台输出以及日志文件,严重影响正常的日志查看。

例如,当我们使用SpringBoot开发Restful API时,请求信息、响应信息等都会被默认输出到日志中,伴随着每个接口请求的输出,日志会变得张冠李戴,不利于调试分析。

二、如何设置不输出Info级别日志

1、使用properties方式设置

我们可以在项目的 application.properties 文件中设置logging.level.root=ERROR,这意味着SpringBoot将不会输出Level.INFO的日志信息。

application.properties 配置示例:
logging.level.root=ERROR

2、使用yml方式设置

同样的,我们也可以使用yml文件方式设置logging.level.root。

application.yml 配置示例:
logging:
  level:
    root: ERROR

3、使用代码方式设置

除了以上两种方式之外,我们还可以通过编写代码的方式,来设置日志级别。

代码示例:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@Configuration
public class LogConfiguration {

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

    @PostConstruct
    public void init() {
        logger.info("init LogConfiguration");
        ch.qos.logback.classic.Logger rootLogger = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME);
        rootLogger.setLevel(Level.ERROR);
    }
}

这个例子中,我们通过 LogConfiguration 类实现了一个初始化的方法init(),在这个方法中我们获得了 ROOT_LOGGER_NAME 的实例并调整了日志级别到 ERROR。

三、如何判断是否设置成功

当我们在项目中添加了相应的配置之后,如何判断是否设置成功呢?

我们可以在控制台中查看运行时的日志信息,如果控制台上不再输出频繁的Info级别日志信息,那么就证明我们已经成功关闭了Info级别日志输出。

另外,我们还可以在调试日志的时候,通过打印当前 LoggingSystem 的状态,来确认我们的日志配置是否生效。

代码示例:
@Component
public class CheckLoggingLevelCommandLineRunner implements CommandLineRunner {

    @Autowired
    private LoggingSystem loggingSystem;

    @Override
    public void run(String... args) throws Exception {
        LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
        for (Logger logger : loggerContext.getLoggerList()) {
            System.out.println("logger.getName(): " + logger.getName() + ", logger.getLevel(): " + logger.getLevel());
        }
        loggingSystem.setLogLevel("root", LogLevel.ERROR);
    }
}

当我们在终端启动项目并运行上述代码,如果输出信息中logger.getLevel()的值为 ERROR,则证明我们的配置已生效。

四、小结

以上就是SpringBoot如何设置不输出Info级别日志的全部内容,我们可以通过在 properties、yml 文件中进行配置,或者通过代码动态设置等多种方式,来实现相应的功能。

原创文章,作者:HHBJT,如若转载,请注明出处:https://www.506064.com/n/373741.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
HHBJT的头像HHBJT
上一篇 2025-04-27 15:26
下一篇 2025-04-27 15:26

相关推荐

  • 如何设置Python环境变量

    Python是一种流行的脚本编程语言,它可以在不同的操作系统和平台上运行。但是,在使用Python时,我们需要设置Python环境变量,以便系统能够正确地找到Python解释器和相…

    编程 2025-04-29
  • Cron执行日志用法介绍

    本文将从多个方面对cron执行日志进行详细阐述,包括cron执行日志的定义、cron执行日志的产生原因、cron执行日志的格式以及如何解读cron执行日志。 一、定义 Cron是一…

    编程 2025-04-29
  • 如何设置chrome不同步手机历史记录

    使用chrome浏览器时,在登录chrome账号的情况下,由于默认同步功能,浏览器历史记录等数据都会同步到其他设备上,但是有时候我们并不想这么做,比如为了保护隐私、避免干扰等等。所…

    编程 2025-04-29
  • Hibernate日志打印sql参数

    本文将从多个方面介绍如何在Hibernate中打印SQL参数。Hibernate作为一种ORM框架,可以通过打印SQL参数方便开发者调试和优化Hibernate应用。 一、通过配置…

    编程 2025-04-29
  • 从ga角度解读springboot

    springboot作为目前广受欢迎的Java开发框架,其中的ga机制在整个开发过程中起着至关重要的作用。 一、ga是什么 ga即Group Artifacts的缩写,它是Mave…

    编程 2025-04-29
  • 使用Snare服务收集日志:完整教程

    本教程将介绍如何使用Snare服务收集Windows服务器上的日志,并将其发送到远程服务器进行集中管理。 一、安装和配置Snare 1、下载Snare安装程序并安装。 https:…

    编程 2025-04-29
  • Log4j日志打印到Systemout.log

    Log4j是Apache的一个强大的日志组件,可以帮助开发者更好地管理日志。在Java应用程序中,很多开发者都会选择使用Log4j来实现日志输出。本文将介绍如何使用Log4j将日志…

    编程 2025-04-28
  • 如何设置文件排版格式为中心

    对于任何类型和规模的项目,文件排版格式都是至关重要的。一个整洁、一致的文件排版可以增强代码的可读性,更容易维护。在这篇文章中,我将从多个方面详细阐述如何设置文件排版格式为中心。 一…

    编程 2025-04-28
  • Python IDLE如何设置中文运行环境

    Python IDLE是Python的集成开发环境,使用它可以方便地编写、调试和执行Python程序。但是,默认情况下Python IDLE的运行环境是英文环境,如果需要在Pyth…

    编程 2025-04-27
  • SpringBoot Get方式请求传参用法介绍

    本文将从以下多个方面对SpringBoot Get方式请求传参做详细的阐述,包括URL传参、路径传参、请求头传参、请求体传参等,帮助读者更加深入地了解Get请求方式下传参的相关知识…

    编程 2025-04-27

发表回复

登录后才能评论