强烈推荐一个大神的人工智能的教程:http://www.captainbed.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、查看项目启动时日志级别

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的特性。

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

  1. Spring Boot 2动态修改日志级别

    本文基于:Spring Boot 2.1.3,理论支持Spring Boot 2.x所有版本. 作为程序猿,定位问题是我们的日常工作,而日志是我们定位问题非常重要的依据.传统方式定位问题时,往往是如下 ...

  2. springboot 日志级别_SpringBoot实战(十三):Admin动态修改日志级别

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 之前关于线上输出日志一直有个困惑:如何可以动态调整的日志级别,来保证系统在正常运行时性 ...

  3. 日志级别_SpringBoot实战(十三):Admin动态修改日志级别

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 之前关于线上输出日志一直有个困惑:如何可以动态调整的日志级别,来保证系统在正常运行时性 ...

  4. SpringBoot动态修改日志级别

    前言 为了减少日志频繁打印带来的性能影响,线上环境设置的日志级别一般都相对较高.而当出现生产问题需要排查的时候,可能需要适当降低日志级别(例如DEBUG)来打印更多的日志信息帮助定位问题. 传统的做法 ...

  5. 使用RestTemplate模版实现 Rest 服务调用、Swagger 集成、动态修改日志级别

    Spring 与 Restful 整合才是微架构的核心,虽然在整个 SpringBoot(SpringCloud)之中提供有大量的 服务方便整合,但是这些 整合都不如 Rest 重要,因为 Rest ...

  6. 求你了,别再随便打日志了,教你动态修改日志级别!

    GitHub 19k Star 的Java工程师成神之路,不来了解一下吗! 之前写过一篇文章<明明有自动清理,日志还是把我的服务干爆了!>,介绍过一次大促故障,是因为日志量激增,导致服务器 ...

  7. log4j2动态修改日志级别及拓展性使用

    一.供参考的完整日志配置 <?xml version="1.0" encoding="UTF-8"?><!-- 配置LoggerConfig, ...

  8. Spring Boot动态修改日志级别

    1. pom中引入 org.springframework.boot       spring-boot-starter-actuator 2. 发送POST请求: 地址: http://[服务地址] ...

  9. Spring Boot 1.5.x新特性:动态修改日志级别

    前天Spring Boot 1.5终于迎来了第一个RELEASE版本:1.5.0,但是由于一个编译依赖问题在第二天直接连击到了1.5.1.该版本的发布包含了超过320位贡献者的奉献.10000多次的代 ...

最新文章

  1. 用Python写出Gameboy模拟器,还能训练AI模型:丹麦小哥的大学项目火了
  2. 从ReentrantLock的实现看AQS的原理及应用
  3. 基于OpenResty的弹性网关实践(二)
  4. 由于超出容量限制_限制特高压系统中的过电压措施
  5. Python档案袋(列表、元组、字典、集合 )
  6. 前端学习(2346):global全局样式布局
  7. C语言实现用星号在屏幕上打印菱形
  8. 【09】Jenkins:Pipeline 补充
  9. node.js下npm安装太慢,如何解决
  10. 【个人笔记】OpenCV4 C++ 图像处理与视频分析 11课
  11. 史上最简明八皇后问题分析与套路总结
  12. 如何将视频设置为电脑动态壁纸?
  13. Django之Model操作之select_related和prefetch_related【ORM篇八】
  14. Java获取本机外网ip地址的方法
  15. Receiver Operating Characteristic(ROC)
  16. Redis学习、缓存、持久化、哨兵模式
  17. vscode的自定义Snippets模板快捷键
  18. 学习通过标签内部的style设置样式,仅UI
  19. el-table筛选数据
  20. [yotroy.cool]气死了,新买的MacBook M1居然第二次崩溃重启了

热门文章

  1. 为什么说“不要教你的孩子学编程”?
  2. Google 又逆天:语音输入离线实时输出文字,仅占 80 MB !然而……
  3. 每秒几十万的大规模网络爬虫是如何炼成的?
  4. 从 C++98 到 C++17,元编程是如何演进的? | 技术头条
  5. 寒冬已至?四面楚歌的 Android 工程师该何去何从?
  6. 住个酒店,“我”的隐私就被强制扒干净了!
  7. android分享助手下载地址,语音导出分享助手手机版|语音导出分享助手安卓版下载 v2.1 - 跑跑车安卓网...
  8. 素描滤镜c语言算法,python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现).pdf...
  9. C语言霍夫曼编码压缩,数据结构大作业——哈夫曼编码压缩BMP格式文件
  10. python 通过索引迭代列表_Python的索引迭代