SpringBoot实战(十三):Spring Boot Admin 动态修改日志级别

简介: SpringBoot实战(十三):Spring Boot Admin 动态修改日志级别

强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan


【前言】


      之前关于线上输出日志一直有个困惑:如何可以动态调整的日志级别,来保证系统在正常运行时性能同时又能在出现问题时打印详细的信息来快速定位问题;最近研究一下Spring Boot Admin中动态日志级别调整,并集成项目中,在此与大家共享;


【动态修改日志级别】


        一、生产环境日志输出的状况


                1、生产环境日志输出的困惑


                      A.设置日志输出级别为info;


                         (1)优点:可以详细的打印日志,有利于排错;


                         (2)缺点:日志消耗系统的性能较大;只能针对整个系统整体设置日志输出较多,定位具体类或方法日志效率较低;


                      B.设置日志输出级别为error;


                         (1)优点:日志消耗系统性能较小;


                         (2)缺点:当遇到bug时,无法追踪到详细信息难以定位问题;


                2、解决办法:


                      A.比较被动的妥协解决方案:项目发布时设置日志输出级别为error,当线上遇到问题时,再重启项目修改日志的输出级别为info;


                         (1)优点:无需改造现有项目,无需增加监控系统管理日志级别;


                         (2)缺点:每次都需要重启项目,项目多不利于统一管理;


                      B.动态配置日志级别:通过Spring Boot Admin的日志级别管理来动态调整日志级别;


                         (1)优点:动态更新日志级别,细粒度控制(项目,包,类)日志级别,便于快速定位问题;


                         (2)缺点:需要对现有系统进行改造,增加Spring Boot Admin监控系统;


        二、项目集成


               参考上篇博文《SpringBoot实战(十二):集成 Spring Boot Admin 监控》


        三、效果展示


                1、查看项目启动时日志级别


581eaf0497bbc642d4c5add84b981627_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly96aGFuZ2hhbi5ibG9nLmNzZG4ubmV0,size_16,color_FFFFFF,t_70.png


                2、访问系统接口,查看日志


b60fb7ce0ad94f62f3cdf8f73873777d_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly96aGFuZ2hhbi5ibG9nLmNzZG4ubmV0,size_16,color_FFFFFF,t_70.png


                3、在Admin管理控制台修改类 com.zhanghan.zhboot.controller.CheckMobileController 的日志级别为Info


05f0cd72fcd86585feb453f53d0fc794_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly96aGFuZ2hhbi5ibG9nLmNzZG4ubmV0,size_16,color_FFFFFF,t_70.png


                4、再次访问接口,查看日志(很显然,已经将修改为info)


ab448e763ae19e5823e1e76c1c56c73c_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly96aGFuZ2hhbi5ibG9nLmNzZG4ubmV0,size_16,color_FFFFFF,t_70.png


        四、项目地址:


                1、地址:https://github.com/dangnianchuntian/springboot


                2、代码版本:1.5.0-Release


【总结】


        1、动态修改日志级别将大大提高我们排错的效率,尽快定位问题,减少损失;


        2、接下来会为大家共享更多关于SpringBootAdmin的特性。


相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
7月前
|
前端开发 Java 应用服务中间件
《深入理解Spring》 Spring Boot——约定优于配置的革命者
Spring Boot基于“约定优于配置”理念,通过自动配置、起步依赖、嵌入式容器和Actuator四大特性,简化Spring应用的开发与部署,提升效率,降低门槛,成为现代Java开发的事实标准。
|
7月前
|
XML Java 测试技术
《深入理解Spring》:IoC容器核心原理与实战
Spring IoC通过控制反转与依赖注入实现对象间的解耦,由容器统一管理Bean的生命周期与依赖关系。支持XML、注解和Java配置三种方式,结合作用域、条件化配置与循环依赖处理等机制,提升应用的可维护性与可测试性,是现代Java开发的核心基石。
|
7月前
|
前端开发 Java 微服务
《深入理解Spring》:Spring、Spring MVC与Spring Boot的深度解析
Spring Framework是Java生态的基石,提供IoC、AOP等核心功能;Spring MVC基于其构建,实现Web层MVC架构;Spring Boot则通过自动配置和内嵌服务器,极大简化了开发与部署。三者层层演进,Spring Boot并非替代,而是对前者的高效封装与增强,适用于微服务与快速开发,而深入理解Spring Framework有助于更好驾驭整体技术栈。
|
7月前
|
XML Java 应用服务中间件
【SpringBoot(一)】Spring的认知、容器功能讲解与自动装配原理的入门,带你熟悉Springboot中基本的注解使用
SpringBoot专栏开篇第一章,讲述认识SpringBoot、Bean容器功能的讲解、自动装配原理的入门,还有其他常用的Springboot注解!如果想要了解SpringBoot,那么就进来看看吧!
719 2
|
7月前
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
1268 2
Spring Boot 3.x 微服务架构实战指南
|
8月前
|
人工智能 Java 机器人
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
Spring AI Alibaba集成Ollama,基于Java构建本地大模型应用,支持流式对话、knife4j接口可视化,实现高隐私、免API密钥的离线AI服务。
6815 2
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
|
8月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1517 5
存储 JSON Java
895 0
|
8月前
|
人工智能 Java 开发者
【Spring】原理解析:Spring Boot 自动配置
Spring Boot通过“约定优于配置”的设计理念,自动检测项目依赖并根据这些依赖自动装配相应的Bean,从而解放开发者从繁琐的配置工作中解脱出来,专注于业务逻辑实现。
2702 0