Spring Boot Admin 动态修改日志级别的方法步骤

所属分类: 软件编程 / java 阅读数: 63
收藏 0 赞 0 分享

【前言】

       之前关于线上输出日志一直有个困惑:如何可以动态调整的日志级别,来保证系统在正常运行时性能同时又能在出现问题时打印详细的信息来快速定位问题;最近研究一下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、查看项目启动时日志级别

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

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

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

         四、项目地址:

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

                 2、代码版本:1.5.0-Release

【总结】

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

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

更多精彩内容其他人还在看

详解Spring依赖注入:@Autowired,@Resource和@Inject区别与实现原理

这篇文章主要介绍了详解Spring依赖注入:@Autowired,@Resource和@Inject区别与实现原理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

了解spring中的CloudNetflix Hystrix弹性客户端

这篇文章主要介绍了了解spring中的CloudNetflix Hystrix弹性客户端,客户端弹性模式是在远程服务发生错误或表现不佳时保护远程资源(另一个微服务调用或者数据库查询)免于崩溃。,需要的朋友可以参考下
收藏 0 赞 0 分享

Spark学习笔记Spark Streaming的使用

这篇文章主要介绍了Spark学习笔记Spark Streaming的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

通过实例讲解springboot整合WebSocket

这篇文章主要介绍了通过实例讲解springboot整合WebSocket,WebSocket为游览器和服务器提供了双工异步通信的功能,即游览器可以向服务器发送消息,服务器也可以向游览器发送消息。,需要的朋友可以参考下
收藏 0 赞 0 分享

java虚拟机学习笔记进阶篇

在本篇内容里小编给大家分享了关于java虚拟机学习笔记的进阶内容,需要的朋友们跟着学习下。
收藏 0 赞 0 分享

java虚拟机学习高级篇

在本篇文章里小编给大家整理了关于java虚拟机学习高级篇的相关内容,有兴趣的朋友们跟着学习参考下。
收藏 0 赞 0 分享

java虚拟机中多线程总结

在本篇内容中小编给大家分享的是关于java虚拟机中多线程的知识点总结内容,需要的朋友们参考学习下。
收藏 0 赞 0 分享

java虚拟机多线程进阶篇总结

在本篇内容里小编给大家整理了关于java虚拟机多线程进阶篇的相关知识点内容,有兴趣的朋友们跟着参考下。
收藏 0 赞 0 分享

java数据结构和算法中数组的简单入门

在本文里小编给大家整理了关于java数据结构和算法中数组的简单入门知识点整理,需要的朋友们学习下。
收藏 0 赞 0 分享

java数据结构和算法中哈希表知识点详解

在本篇文章里小编给大家分享了关于java数据结构和算法中哈希表的相关知识点内容,需要的朋友们学习下。
收藏 0 赞 0 分享
查看更多