Spring Boot Admin 动态修改日志级别的方法步骤
【前言】
之前关于线上输出日志一直有个困惑:如何可以动态调整的日志级别,来保证系统在正常运行时性能同时又能在出现问题时打印详细的信息来快速定位问题;最近研究一下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 Boot Admin 动态修改日志级别的方法步骤的文章就介绍到这了,更多相关Spring Boot Admin 日志级别内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
SpringBoot Admin用法实例讲解
说明 Spring Boot Admin 是一个管理和监控你的 Spring Boot 应用程序的应用程序. 这些应用程序通过 Spring Boot Admin Client(通过 HTTP)注册或者使用 Spring Cloud(例如 Eureka)发现. UI只是 Spring Boot Actuator 端点上的一个 AngularJs 应用程序. 创建服务 创建spring boot 项目,引入依赖 <dependency> <groupId>de.codecentric
-
Spring Boot Admin微服务应用监控的实现
Spring Boot Admin 可以对SpringBoot应用的各项指标进行监控,可以作为微服务架构中的监控中心来使用,本文将对其用法进行详细介绍. Spring Boot Admin 简介 SpringBoot应用可以通过Actuator来暴露应用运行过程中的各项指标,Spring Boot Admin通过这些指标来监控SpringBoot应用,然后通过图形化界面呈现出来.Spring Boot Admin不仅可以监控单体应用,还可以和Spring Cloud的注册中心相结合来监控微服务应
-
SpringBoot Admin 使用指南(推荐)
Spring Boot Admin 是一个管理和监控你的 Spring Boot 应用程序的应用程序. 这些应用程序通过 Spring Boot Admin Client(通过 HTTP)注册或者使用 Spring Cloud(例如 Eureka)发现. UI只是 Spring Boot Actuator 端点上的一个 AngularJs 应用程序. 快速开始 首先在 IDEA 创建一个 SpringBoot 项目,把它当作 server 端,工程如下: 然后在 pom.xml 中引入依赖: <
-
详解Spring boot Admin 使用eureka监控服务
前言 最近刚好有空,来学习一下如何搭建spring boot admin环境.其中遇到很多的坑. 网上大多都是使用admin-url的方式直接来监控的,感觉一点也不灵活,这不是我想要的结果,所以本篇介绍借助eureka服务注册和发现功能来灵活监控程序. 本文主要记录spring boot admin的搭建过程,希望能有所帮助.其实非常的简单,不要被使用常规方式的误导! 环境介绍 IDE:intellij idea jdk: java8 maven:3.3.9 spring boot:1.5.6
-
spring boot 添加admin监控的方法
一.Spring Boot Admin简介 spring boot admin github开源地址:https://github.com/codecentric/spring-boot-admin 它主要的作用是在Spring Boot Actuator的基础上提供简洁的WEB UI展示. 二.项目使用: 1.搭建一个maven web项目 2.pom依赖配置 <dependency> <groupId>org.springframework.boot</groupId&
-
spring boot admin 搭建详解
1. Spring Boot Admin 定义 Spring Boot Admin 是针对 Spring Boot 的actuator接口进行UI美化的接口,可以方便的浏览被监控的Spring Boot项目的基本信息.详细的Health信息.JVM信息.垃圾回收信息.各种配置信息(数据源.缓存.命中率等) 2 系统搭建 server 端搭建 1.gradle中引入一下依赖 compile('de.codecentric:spring-boot-admin-server:1.5.6') compi
-
使用Spirng Boot Admin监控Spring Cloud应用项目
一. 介绍 GitHub: https://github.com/codecentric/spring-boot-admin 官方文档: http://codecentric.github.io/spring-boot-admin/1.5.7/ (此文档为1.5.7版本的文档) The applications register with our Spring Boot Admin Client (via HTTP) or are discovered using Spring Cloud ®
-
Spring Boot Admin邮件警报整合过程解析
一.前言 在Spring Boot Admin Server 中撒送预警邮件通知是很简单的,只需要简单的几个配置就可以了. 二.代码演示 1.microservice-monitor-server-> pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&quo
-
Spring Boot Admin 的使用详解
一.前言 Spring Boot Admin 用于监控基于 Spring Boot 的应用.官方文档在这里(v1.3.4):<Spring Boot Admin Reference Guide> 实践的过程中,感觉这个 User Guide 结构上还是说的不太明白.所以我就大概写一遍我的实践过程与理解. 阅读此文前提条件是: 使用过 Maven. 你跑过基于 Spring Boot 的 hello world 程序. 第三节需要你会点 Spring Cloud 的 Eureka Server
-
Spring Boot Admin 动态修改日志级别的方法步骤
[前言] 之前关于线上输出日志一直有个困惑:如何可以动态调整的日志级别,来保证系统在正常运行时性能同时又能在出现问题时打印详细的信息来快速定位问题:最近研究一下Spring Boot Admin中动态日志级别调整,并集成项目中,在此与大家共享: [动态修改日志级别] 一.生产环境日志输出的状况 1.生产环境日志输出的困惑 A.设置日志输出级别为info: (1)优点:可以详细的打印日志,有利于排错: (2)缺点:日志消耗系统的性能较大:只能针对整个系统整体设置日志输出较多,定位
-
Logback动态修改日志级别的方法
问题提出: 一般在生产环境上,日志的级别是INFO以上,但有时候程序出现问题(如SQL报错),少量日志不能尽快定位问题,这时候可以动态修改日志级别到DEBUG,打印更多日志后可以快速定位到问题. 解决方法: 定义动态修改日志级别的接口:这种方法的好处是不用修改配置文件,排错后再次调用接口把日志级别修改回去:坏处是需要在代码中写死指定哪些包要修改日志级别.示例代码如下: @RestController public class LogController { private static Logg
-
SpringBoot动态修改日志级别的操作
前言 为了减少日志频繁打印带来的性能影响,线上环境设置的日志级别一般都相对较高.而当出现生产问题需要排查的时候,可能需要适当降低日志级别(例如DEBUG)来打印更多的日志信息帮助定位问题. 传统的做法一般是: 1.配置里修改日志级别 2.重启应用 3.问题复现查看报错日志排查问题 这个过程需要重启应用,比较麻烦,效率较低,而且针对大型在线项目,不可能随便停机重启.那么有没有一种方式在不重启应用的情况下实现动态修改日志级别呢? 下面,让老万教你如何通过SpringBoot的actuator组件来实
-
log4j2动态修改日志级别及拓展性使用详解
一.供参考的完整日志配置 <?xml version="1.0" encoding="UTF-8"?> <!-- 配置LoggerConfig,即Appenders的日志级别为WARN --> <Configuration status="WARN"> <!-- 定义下面的引用名 --> <Properties> <property name="basePath"
-
Spring Boot Admin 进行项目监控管理的方法
一.Spring Boot Admin 的概念 Spring Boot Admin是一个开源社区项目,用于管理和监控SpringBoot应用程序. 应用程序作为Spring Boot Admin Client向为Spring Boot Admin Server注册(通过HTTP)或使用SpringCloud注册中心(例如Eureka,Consul)发现. UI是AngularJs的应用程序,展示Spring Boot Admin Client的Actuator端点上的一些监控. 可
-
Spring boot按日切分spring boot的nohup.out日志文件的方法
过大的日志文件维护起来存在诸多问题,所以最好是能够按日或按大小切分日志文件,便于查找需要的信息. 网上有各种各样的日志切分方法,有的有用,有的没用,有的还麻烦. 最后搬运最简单易用的切分方法,如下: 安装cronolog 以如下命令启动应用: nohup app.jar | /usr/local/sbin/cronolog /console-%Y-%m-%d.out >> /dev/null 2>&1 & 只是搬运而已,免得挨个方法试过去了 总结 以上所述是小编给大家介绍
-
如何设置Spring Boot测试时的日志级别
1.概览 该教程中,我将向你展示:如何在测试时设置spring boot 日志级别.虽然我们可以在测试通过时忽略日志,但是如果需要诊断失败的测试,选择正确的日志级别是非常重要的. 2.日志级别的重要性 正确设置日志级别可以节省我们许多时间. 举例来说,如果测试在CI服务器上失败,但在开发服务器上时却通过了.我们将无法诊断失败的测试,除非有足够的日志输出. 为了获取正确数量的详细信息,我们可以微调应用程序的日志级别,如果发现某个java包对我们的测试更加重要,可以给它一个更低的日志级别,比如DEB
-
Spring Boot实现STOMP协议的WebSocket的方法步骤
1.概述 我们之前讨论过Java Generics的基础知识.在本文中,我们将了解Java中的通用构造函数. 泛型构造函数是至少需要有一个泛型类型参数的构造函数.我们将看到泛型构造函数并不都是在泛型类中出现的,而且并非所有泛型类中的构造函数都必须是泛型. 2.非泛型类 首先,先写一个简单的类:Entry,它不是泛型类: public class Entry { private String data; private int rank; } 在这个类中,我们将添加两个构造函数:一个带有两个参数的
-
SpringBoot如何动态改变日志级别
前言 关于日志级别,大部分项目可能都设置为info级别,当然也可能有一些追求性能或者说包含很多敏感信息的项目直接将级别设置为warn或者error:这时候如果项目中出现一些未知异常,需要用到很详细的日志信息,此时如果项目中没有动态改变日志级别的机制,排查问题将很棘手. 日志系统 我们常用的一些日志系统包括:Log4j2.Logback.Java Util Logging:我们想动态改变日志的级别,前提是这些日志系统都支持我们直接设置日志等级,当然这些系统提供了很简单的接口: Log4j2 Log
-
Spring Boot Admin的使用详解(Actuator监控接口)
第一部分 Spring Boot Admin 简介 Spring Boot Admin用来管理和监控Spring Boot应用程序. 应用程序向我们的Spring Boot Admin Client注册(通过HTTP)或使用SpringCloud®(例如Eureka,Consul)发现. UI是Spring Boot Actuator端点上的Vue.js应用程序. Spring Boot Admin 是一个管理和监控Spring Boot 应用程序的开源软件.每个应用都认为是一个客户端,通过HT
随机推荐
- java 利用java反射机制动态加载类的简单实现
- 非常实用的js验证框架实现源码 附原理方法
- node.js中的fs.fstat方法使用说明
- SQL重复记录查询的几种方法
- Nodejs Post请求报socket hang up错误的解决办法
- 浅谈Java中的hashcode方法(推荐)
- Python基于select实现的socket服务器
- PHP中call_user_func_array()函数的用法演示
- 基于Android实现点击某个按钮让菜单选项从按钮周围指定位置弹出
- JavaScript 密码强度判断代码
- js去除浏览器默认底图的方法
- 仿客齐集首页导航条DIV+CSS+JS [代码实例]
- 深入理解Django中内置的用户认证
- Android 文件夹显示红色叹号的解决方法(必看)
- easyUI下拉列表点击事件使用方法
- EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
- 使一个函数作为另外一个函数的参数来运行的javascript代码
- JavaScript简单生成 N~M 之间随机数的方法
- 在maven工程里运行java main方法
- Java使用excel工具类导出对象功能示例