SpringBoot之项目管理

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
SpringBoot之项目管理


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 系列文章目录
  • 前言
  • 一、指标监控
    • Spring Boot Actuator的使用
    • 可视化工具展示actuator
      • 使用Spring Boot Admin服务端项目步骤
  • 二、日志管理
    • 如何配置日志管理文件?
    • 代码中输出日志
  • 总结
    • 指标监控
    • 日志管理


前言

提示:这里可以添加本文要记录的大概内容:

在当今的软件开发领域,项目管理是至关重要的一环。它确保了项目的按时交付、质量的保证以及团队的高效协作。而在 Spring Boot 框架的加持下,项目管理变得更加高效和便捷。
在这篇博客中,我将介绍两个在 Spring Boot 项目管理中非常重要的方面:指标监控和日志管理。这两个内容对于确保项目的顺利运行和问题的快速定位起着关键作用。
指标监控可以帮助我们实时了解项目的性能和健康状况。通过收集和分析各种指标数据,我们可以及时发现系统的瓶颈、异常情况和性能问题,并采取相应的措施进行优化和修复。日志管理则是我们了解系统运行情况的窗口。它记录了系统在运行过程中产生的各种日志信息,包括错误日志、调试日志和操作日志等。通过有效的日志管理,我们可以快速定位和解决问题,同时还可以进行数据分析和统计,为项目的优化和改进提供依据。
在接下来的博客文章中,我将深入探讨指标监控和日志管理的具体实现方法和最佳实践,分享一些实用的工具和技巧,帮助你更好地管理 Spring Boot 项目。无论你是项目经理、开发人员还是运维人员,这些内容都将对你有所帮助。
让我们一起探索 Spring Boot 的世界,提升项目管理的水平,助力项目的成功交付!


提示:以下是本篇文章正文内容,下面案例可供参考

一、指标监控

Spring Boot Actuator的使用

在 Spring Boot 中,指标监控是指对应用程序的性能指标进行实时监测和收集的过程。通过指标监控,我们可以了解应用程序的运行状况、资源利用率、请求响应时间等关键指标,以便及时发现问题、优化性能和进行故障排除。Spring Boot Actuator可以帮助程序员监控和管理SpringBoot应用,用法如下:
1.在被监控的项目中添加Actuator起步依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2.编写配置文件

#开启所有监控端点
management.endpoints.web.exposure.include=*

3.访问项目:http://localhost:8080/actuator
通过URL可以调用actuator的功能:

URL查看的数据
/env环境属性
/health健康检查
/mappings显示所有的@RequestMapping路径
/loggers日志
/info定制信息
/metrics查看内存、CPU核心等系统参数
/trace用户请求信息

可视化工具展示actuator

Spring Boot Admin 是一个用于管理和监控 Spring Boot 应用程序的开源工具。它提供了一个集中式的界面,用于监控和管理多个 Spring Boot 应用程序。
使用 Spring Boot Admin 查看 actuator 生成的指标数据有以下几个优点:

  1. 集中式管理:通过 Spring Boot Admin,你可以在一个界面上集中管理和监控多个 Spring Boot 应用程序。这样可以方便地比较不同应用程序的性能指标,快速识别潜在的问题。
  2. 可视化展示:Spring Boot Admin 提供了一个直观的界面,用于展示应用程序的各种指标数据,如内存使用情况、请求计数、响应时间等。通过可视化展示,你可以更容易地理解应用程序的性能状况,并及时发现异常情况。
  3. 实时监控:Spring Boot Admin 可以实时监控应用程序的指标数据,并提供实时更新。这有助于你及时了解应用程序的动态变化,快速响应问题。
  4. 警报和通知:Spring Boot Admin 可以配置警报和通知机制,当指标数据达到特定阈值或发生异常情况时,你可以及时收到通知。这有助于你快速采取措施,避免问题的进一步恶化。
  5. 扩展和定制:Spring Boot Admin 提供了一些扩展点和定制选项,你可以根据自己的需求进行定制和扩展。例如,你可以添加自己的指标、添加自定义监控页面等。

使用 Spring Boot Admin 查看 actuator 生成的指标数据可以提供一个集中化、可视化、实时的监控和管理界面,帮助你更好地理解和优化应用程序的性能。

使用Spring Boot Admin服务端项目步骤

1.创建SpringBoot项目,添加SpringMVC和Spring Boot Admin服务端起步依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-server</artifactId>
</dependency>

2.修改配置文件

# 端口号
server.port=9090
#日志格式
logging.pattern.console=%d{HH:mm:ss.SSS} %clr(%-5level) ---  [%-15thread] %cyan(%-50logger{50}):%msg%n

3.修改启动类

@SpringBootApplication
@EnableAdminServer //开启Spring Boot Admin服务端
public class MyadminApplication {public static void main(String[] args) {SpringApplication.run(MyadminApplication.class, args);}
}

4.在被监控项目添加Spring Boot Admin客户端起步依赖

<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId><version>2.6.0</version>
</dependency>

5.修改配置文件

#Spring boot admin访问地址
spring.boot.admin.client.url=http://localhost:9090

6.此时Spring Boot Admin即可连接被监控的项目

二、日志管理

默认情况下,SpringBoot 使用 Logback 组件来管理日志。Logback 是由 log4j 的创始人设计的一个开源日志组件。在 SpringBoot 项目中,我们无需额外添加 Logback 的依赖项,因为 spring-boot-parent 已经包含了 Logback 的依赖。

如何配置日志管理文件?

1.在/resources下添加Logback配置文件logback.xml

<?xml version="1.0" encoding="UTF-8" ?>
<configuration><!--定义日志文件的存储地址--><property name="LOG_HOME" value="${catalina.base}/logs/"/><!-- 控制台输出 --><appender name="Stdout" class="ch.qos.logback.core.ConsoleAppender"><!-- 日志输出编码 --><layout class="ch.qos.logback.classic.PatternLayout"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--><pattern>%d{MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></layout></appender><!-- 按照每天生成日志文件 --><appender name="RollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名--><FileNamePattern>${LOG_HOME}/server.%d{yy99-MM-dd}.log</FileNamePattern><MaxHistory>30</MaxHistory></rollingPolicy><layout class="ch.qos.logback.classic.PatternLayout"><!--格式化输出:%d表示时间,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--><pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></layout><!--日志文件最大的大小--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>10MB</MaxFileSize></triggeringPolicy></appender><!-- 日志输出级别 --><root level="info"><appender-ref ref="Stdout"/><appender-ref ref="RollingFile"/></root>
</configuration>

注意:Logback配置文件名为logback-test.xml或logback.xml,如果classpath下没有这两个文件,LogBack会自动进行最小化配置。

代码中输出日志

@Controller
public class LogbackController {private final static Logger logger = LoggerFactory.getLogger(LogbackController.class);@RequestMapping("/printLog")@ResponseBodypublic String showInfo(){logger.info("记录日志");return "Hello Logback";}
}

如果日志过多,可以屏蔽一些包的日志,在配置文件中配置

#屏蔽org包中的日志输出
logging.level.org=off

总结

提示:这里对文章进行总结:

指标监控

  • Spring Boot Actuator可以帮助程序员监控和管理SpringBoot应用
  • 与监控系统集成,如SpringBoot Admin

日志管理

  • Spring Boot 默认使用 Logback 作为日志管理组件。
  • Logback 提供了灵活的日志配置和日志级别的控制。
  • 可以使用 Logback 的配置文件来定制日志记录的方式,包括日志格式、日志级别、日志轮转策略等。
  • 可以将日志输出到控制台、文件或远程日志服务器。

通过这两个主要内容,我们可以更好地管理和监控 Spring Boot 项目。指标监控帮助我们实时了解应用程序的性能和健康状况,而日志管理则提供了对应用程序日志的控制和查看能力,有助于故障排查和调试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/595998.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络安全试题进阶——附答案

选择题 什么是CSRF攻击的全称&#xff1f; A. Cross-Site Request ForgeryB. Cross-Site ScriptingC. Credential Sniffing and Retrieval ForceD. Cyber Security and Risk Framework 哪种安全攻击利用用户的社交工程&#xff0c;诱使他们点击似乎是合法链接的恶意链接&#x…

Parallels虚拟机启动后,Mac主机无法上网怎么办

文章目录 1.问题2.解决&#xff1a; 1.问题 部分用户在运行Parallels Desktop的Windows 11打开后&#xff0c;Windows上网没有问题 &#xff0c;但是Mac主机不能访问带域名的网站&#xff0c;而访问带ip的网站没问题&#xff0c;退出parallels虚拟机以后&#xff0c;mac网络恢…

docker 部署来自Hugging Face下机器翻译模型

机器翻译模型(Hugging Face官网) 模型翻译api服务代码 # 离线翻译服务代码 # -*-coding:utf-8-*-import os import json import logging from logging.handlers import RotatingFileHandler from datetime import datetime from flask import Flask, request,jsonify from geve…

HarmoryOS Ability页面的生命周期

接入穿山甲SDK app示例&#xff1a; android 数独小游戏 经典数独休闲益智 广告接入示例: Android 个人开发者如何接入广告SDK&#xff0c;实现app流量变现 Ability页面的生命周期 学习前端&#xff0c;第一步最重要的是要理解&#xff0c;页面启动和不同场景下的生命周期的…

内联函数的作用

目的 主要为了提升程序运行速度。 分析 当程序调用一个函数时&#xff0c;程序暂停执行当前指令&#xff0c;跳到函数体处执行&#xff0c;在函数执行完后&#xff0c;返回原来的位置继续执行。如果该函数为内联函数&#xff0c;则不需跳&#xff0c;是因为该内联函数直接插…

基于TIC6000的DSP教学实验箱操作教程:5-18 RGB24图像灰度转换(LCD显示)

一、实验目的 学习RGB24图像灰度转换的原理&#xff0c;掌握图像的读取方法&#xff0c;并实现在LCD上显示灰度转换前后的图像。 二、实验原理 RGB24图像灰度转换 RGB颜色空间作为一种常用的彩色图像表示模型&#xff0c;分别用红&#xff08;R&#xff09;、绿&#xff08…

【EEPROM EPROM RAM ROM FLASH】计算机存储家族

一&#xff1a;之间的区别&#xff1a; EEPROM、EPROM、RAM、ROM和FLASH是计算机存储器的不同类型&#xff0c;它们之间的主要区别在于存储数据的方式和数据保留时间。 EEPROM&#xff08;Electrically Erasable Programmable Read-Only Memory&#xff09;是电可擦除可编程只…

《代码整洁之道之程序员的职业素养》-专业主义

专业主义有很深的含义&#xff0c;它不但象征着荣誉和骄傲&#xff0c;而且明确意味着责任和义务担当责任&#xff0c;“为了按时交付软件&#xff0c;没测例行程序&#xff0c;测试例行程序需要几个小时&#xff0c;当时必须交付软件&#xff0c;因为故障修复部分都不涉及例行…

文件摆渡系统如何实现网络隔离后的数据交换、业务流转?

近年来全球网络安全威胁态势的加速严峻&#xff0c;使得企业对于网络安全有了前所未有的关注高度。即便没有行业性的强制要求&#xff0c;但在严峻的安全态势之下&#xff0c;企业的网络安全体系建设正从“以合规为导向”转变到“以风险为导向”&#xff0c;从原来的“保护安全…

鸿蒙系列--动态共享包的依赖与使用

一、前言 HarmonyOS的共享包相当于Android的Library&#xff0c;在HarmonyOS中&#xff0c;给开发者提供了两种共享包&#xff0c;HAR&#xff08;Harmony Archive&#xff09;静态共享包&#xff0c;和HSP&#xff08;Harmony Shared Package&#xff09;动态共享包 区别&…

js的btoa 和 atob之Base64编码和解码

以下内容摘录自 作者&#xff1a;JSON_NULL 链接&#xff1a;https://www.jianshu.com/p/b2c6dc5fad0a btoa 方法 btoa 是 Binary To ASCII 的简写&#xff0c;意思就是把二进制数据编码转换成Base64编码的ASCII字符串。且btoa(str) 方法是浏览器中的一个全局(顶级)方法。 ato…

Python从入门到网络爬虫(函数详解)

前言 函数是变成语言中最常见的语法&#xff0c;函数的本质就是功能的封装。使用函数可以大大提高编程效率与程序的可读性。函数是能够实现特定功能的计算机代码而已&#xff0c;他是一种特定的代码组结构。 函数的作用 1.提升代码的重复利用率&#xff0c;避免重复开发相同代…

【排序算法】删除有序数组中的重复项 II

删除有序数组中的重复项 II 给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次 &#xff0c;返回删除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在 原地 修改输入数组 并在使用 O(1) 额外空…

js——json对象相互转化——js基础积累

js——json对象相互转化——js基础积累 需求场景解决步骤1&#xff1a;定义一个变量接收此字段&#xff0c;方便处理解决步骤2&#xff1a; { 外面的双引号要去掉解决步骤3&#xff1a;使用正则去除参数中的\\解决步骤4&#xff1a;如果此参数必须以{开头&#xff0c;以}结尾解…

一文快速了解超声功率放大器基础知识

超声功率放大器是一种电子设备&#xff0c;用于放大超声信号的能量。它在多个领域中发挥重要作用&#xff0c;包括医疗、工业、科学研究等。超声功率放大器通过将输入信号的能量放大到所需的级别&#xff0c;以便更好地驱动其他设备或实现特定的应用。下面就给大家介绍一下超声…

C++ 多态向上转型详解

文章目录 1 . 前言2 . 多态3 . 向上转型4 . 总结 【极客技术传送门】 : https://blog.csdn.net/Engineer_LU/article/details/135149485 1 . 前言 此篇博文详解C的多态向上转型平台 : Qt 2 . 多态 【Q】什么是多态&#xff1f; 【A】解释如下 : 通俗来说,就是多种形态,具体…

计算机创新协会冬令营——暴力枚举题目03

经过昨天两道题目的洗礼今天应该是更加的手到擒来吧。接招&#xff01; 题目 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) …

2024,这将是量子计算的真正挑战

2023年&#xff0c;一项项量子计算纪录被打破。 谷歌量子AI团队证明了将多个量子比特分组合成为一个逻辑量子比特的纠错方法可以提供更低的容错率。以往的纠错研究随着比特数的增加&#xff0c;错误率会提高&#xff0c;都是“越纠越错”&#xff0c;而这次谷歌首次实现了“越纠…

Python Pillow(PIL)库的用法介绍

在Python编程中&#xff0c;图像处理是一个非常重要的应用领域。Pillow&#xff08;Python Imaging Library&#xff0c;也被称为PIL&#xff09;是一个强大的库&#xff0c;用于处理图像&#xff0c;包括图像的读取、编辑、保存等操作。本文将详细介绍Pillow库的用法。 一、安…