码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Spring Boot Actuator 管理日志


    为了解决以下两个问题:

    1、单JAR包应用查看日志需要的时候如果需要远程访问服务器登录查看日志,那样相对比较麻烦

    2、生产环境为了解决BUG需要临时更换日志级别,总不能重启服务来解决吧

    所以使用了actuator 其中的部分来解决这两个问题。

    首先在POM文件中引入actuator依赖:

    1. <dependency>
    2. <groupId>org.springframework.boot</groupId>
    3. <artifactId>spring-boot-starter-actuator</artifactId>
    4. <version>${spring-boot.version}</version>
    5. </dependency>

    配置文件中配置:

    1. management.endpoints.web.base-path=/actuator
    2. management.endpoints.web.exposure.include=logfile,loggers
    3. management.endpoint.health.show-details=always
    4. logging.file.name=logs/EL-3KJ/EL-3KJ.log

     然后直接可以访问    http://localhost:8085/actuator

    得到下列结果:

    {"_links":{
            "self"{"href":"http://localhost:8085/actuator","templated":false},
            "logfile:         {"href":"http://localhost:8085/actuator/logfile","templated":false},"loggers":{"href":"http://localhost:8085/actuator/loggers","templated":false},"loggers-name":{"href":"http://localhost:8085/actuator/loggers/{name}","templated":true}}}

    其中

    logfile 是查看日志文件

    loggers是查看日志级别

    loggers/{name}是更改日志级别

    前端参考代码:

    1. <TabPane label="接口日志" name="name3">
    2. 级别:
    3. <RadioGroup v-model="loglevel" type="button" size="small" @on-
    4. change="lvChange()">
    5. <Radio label="ERROR"></Radio>
    6. <Radio label="INFO"></Radio>
    7. <Radio label="DEBUG"></Radio>
    8. </RadioGroup> <br/><br/>
    9. 文件:<a :href="logfileurl" target="_blank" > 查看</a>
    10. </TabPane>
    11. this.logfileurl = res.dataApi+"actuator/logfile";
    12. this.loglevelurl = res.dataApi+"actuator/loggers/root";
    13. getLogLevel(){
    14. this.ajax_get({
    15. url: this.loglevelurl,
    16. params: {},
    17. }).then((res) => {
    18. this.loglevel=res.configuredLevel
    19. });
    20. },
    21. lvChange(){
    22. this.changeLogLevel(this.loglevel)
    23. },
    24. changeLogLevel(level){
    25. this.ajax_post({
    26. url: this.tenant.dataApi + "actuator/loggers/root",
    27. params: {'configuredLevel':level},
    28. }).then((res) => {
    29. this.spinShow = false;
    30. if (!res.code) {
    31. this.$Notice.success({
    32. title:'更改日志级别为'+level,
    33. desc:res.msg
    34. });
    35. } else {
    36. this.$Notice.error({
    37. title:'更改日志级别失败',
    38. desc:res.msg
    39. });
    40. }
    41. });
    42. }

    最终效果如下:

     

     

  • 相关阅读:
    在国内通过 kubeadm 部署 k8s (基于 openEuler 22.03)
    【Selenium】Selenium获取Network数据(高级版)
    Trino 387 JVM 配置详解
    C语言游戏实战(4):人生重开模拟器
    电容笔和Apple pencil有啥区别?电容笔四大口碑比较好的品牌推荐
    极空间Docker安装Alist套件整合阿里云盘、百度云盘等网盘资源并挂载到本地供极影视刮削播放完整教程
    Redis系列——什么是Redis
    Ubuntu安装截图工具Shutter及使用
    辣根过氧化物酶交联的透明质酸水凝胶/光交联鱼胶原蛋白肽-透明质酸水凝胶的制备
    YOLOv7训练数据集
  • 原文地址:https://blog.csdn.net/chengmin123456789/article/details/125597951
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号