SpringBoot Logback修改日志级别

这篇具有很好参考价值的文章主要介绍了SpringBoot Logback修改日志级别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 1. 在application.yml 通过配置配置,按住Ctrl + 左键可以看源码

logging:
  level:
    root: info
    com.dj.test.controller: debug
    com.dj.test.service: debug

2. 自己写接口直接动态修改日志级别,读取application.yml配置文件算是间接修改

package com.dj.springtest.controller;

import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.Logger;
import ch.qos.logback.classic.LoggerContext;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;
import java.util.List;

/**
 * Date: 2024/1/13
 * Time: 22:02
 * Description: No Description
 */
@RestController
public class LogController {

    private static final List<String> LEVELS = Arrays.asList("ALL", "all", "TRACE", "trace", "DEBUG", "debug", "INFO", "info", "WARN", "warn", "ERROR", "error", "OFF", "off");

    /**
     * 设置日志界级别
     *
     * @param overall     全局设置
     * @param part        部分设置
     * @param packagePath 涵盖包,如果有多个path,请使用英文逗号分隔
     */
    @GetMapping("/log/level")
    public String setLogLevel(String overall, String part, String packagePath) {
        LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
        if (StringUtils.isNotBlank(overall) && LEVELS.contains(overall)) {
            Logger rootLogger = loggerContext.getLogger("root");
            rootLogger.setLevel(Level.toLevel(overall));
        }

        //根据包路径进行设置
        if (StringUtils.isNotBlank(part) && LEVELS.contains(part) && StringUtils.isNotBlank(packagePath)) {
            String[] paths = packagePath.split(",");
            for (String path : paths) {
                Logger pathLogger = loggerContext.getLogger(path);
                pathLogger.setLevel(Level.toLevel(part));
            }
        }

        return "Succeeded in changing the log level";
    }

}

 文章来源地址https://www.toymoban.com/news/detail-803712.html

到了这里,关于SpringBoot Logback修改日志级别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springboot 日志配置(logback)

    Java 中的日志框架主要分为两大类: 日志门面 和 日志实现 。 Java 中的日志体系: 日志门面 日志门面定义了一组日志的接口规范,它并不提供底层具体的实现逻辑。 Apache Commons Logging 和 Slf4j ( Simple Logging Facade for Java 简单日志门面) 就属于这一类。 日志门面的作用:解决系

    2024年02月09日
    浏览(40)
  • Spring Boot学习随笔- 本地化测试(@SpringBootTest)、热部署(spring-boot-devtools)、日志Logback常用级别使用、指定包级别输出

    学习视频:【编程不良人】2021年SpringBoot最新最全教程 频繁启动服务器进行功能的访问非常繁琐、SpringBoot给我们提供了用于测试的依赖,自动集成Junit,使用了这个以来后,test包在打包时不会被打包进去 @SpringBootTest注解 修饰在类上,用来启动本地Spring环境 作用 热部署是指

    2024年02月05日
    浏览(78)
  • springboot中logback日志配置

    Spring Boot使用Apache的Commons Logging作为内部的日志框架,其仅仅是一个日志接口,在实际应用中需要为该接口来指定相应的日志实现。 Spring Boot从1.4版本开始内置的日志框架就是Logback;Spring Boot 2.x 默认采用了slf4j+logback的形式,slf4j也是个通用的日志门面。 SpringBoot可以适配所有

    2024年02月16日
    浏览(47)
  • java的springboot框架中使用logback日志框架使用RabbitHandler注解为什么获取不到消费的traceId信息?

    当使用 Logback 日志框架和 RabbitMQ 的 @RabbitHandler 注解时,如果无法获取消费的 traceId 信息,可能是因为在处理 RabbitMQ 消息时,没有正确地将 traceId 传递到日志中。 为了将 traceId 传递到日志中,你可以利用 MDC(Mapped Diagnostic Context)机制。MDC 是一个线程绑定的上下文容器,允许

    2024年02月09日
    浏览(48)
  • springboot增加logback日志记录ip

    1、增加logback配置文件: 2、增加获取ip工具类: 3、增加logbackxml配置  完整xml:

    2024年02月11日
    浏览(49)
  • Java Logback日志框架概述及logback.xml详解

    日志技术具备的优势 可以将系统执行的信息选择性的记录到指定的位置(控制台、文件中、数据库中)。· 可以随时以开关的形式控制是否记录日志,无需修改源代码。 日志体系结构 Logback日志框架 Logback是由log4j创始人设计的另一个开源日志组件,性能比log4j要好 Logback是基于

    2024年02月10日
    浏览(62)
  • SpringBoot整合Logback日志框架配置全解析

    SpringBoot使用 Commons Logging 进行所有内部日志的记录,但默认配置也提供了对常用日志的支持,如 Java Util Logging,Log4J2,和Logback. 每种logger都可以通过配置使用控制台或文件输出日志内容。 Logback是log4j框架的作者开发的新一代日志框架,它效率更高、能够适应诸多的运行环境

    2024年02月02日
    浏览(61)
  • 【二十八】springboot整合logback实现日志管理

            本章节是记录logback在springboot项目中的简单使用,本文将会演示如何通过logback将日志记录到日志文件或输出到控制台等管理操作。将会从以下几个方面进行讲解。最后实现将特定级别的特定日志保存到日志文件。 一、依赖 以上版本只是测试时使用,实际版本根据

    2024年02月20日
    浏览(35)
  • springboot集成Logback 日志写入数据库

    引入maven依赖 注意:springboot内部是有Logback的包,但是本人使用的时候缺少部分类文件,因此单独映入了一次 建表 logback有三张表logging_event、logging_event_exception、logging_event_property,不需要自己创建,只需要在如下位置找到自己保存的库表生成sql复制运行即可. 添加配置文件(logback-sp

    2024年02月07日
    浏览(51)
  • SpringBoot多环境配置与添加logback日志

    一个项目会有多个运行环境 所以SpringBoot提供了可以适应多个环境的配置文件  每个文件对应一个端口号 application-dev.yml 开发环境 端口8090 application-test.yml 测试环境 端口8091 application-prod.yml 生产环境 端口8092 在application中选择使用哪个端口号 每个文件设置端口号: 2、添加lo

    2024年01月17日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包