Spring Boot Actuator管理日志的实现

 更新时间:2022年07月04日 16:35:56   作者:墨着染霜华  
本文主要介绍了Spring Boot Actuator管理日志的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

为了解决以下两个问题:

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

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

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

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

  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
            <version>${spring-boot.version}</version>
 </dependency>

配置文件中配置:

management.endpoints.web.base-path=/actuator
management.endpoints.web.exposure.include=logfile,loggers 
management.endpoint.health.show-details=always
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}是更改日志级别

前端参考代码:

 <TabPane label="接口日志" name="name3">
                级别:
                <RadioGroup v-model="loglevel" type="button" size="small" @on- 
                      change="lvChange()">
                  <Radio label="ERROR"></Radio>
                  <Radio label="INFO"></Radio>
                  <Radio label="DEBUG"></Radio>
                </RadioGroup> <br/><br/>
                文件:<a :href="logfileurl" rel="external nofollow"  target="_blank"  > 查看</a>
 </TabPane>
 
 
 
 this.logfileurl = res.dataApi+"actuator/logfile";
 this.loglevelurl = res.dataApi+"actuator/loggers/root";
 
 
getLogLevel(){
      this.ajax_get({
        url: this.loglevelurl,
        params: {},
      }).then((res) => {
        this.loglevel=res.configuredLevel
      });
},
lvChange(){
      this.changeLogLevel(this.loglevel)
},
changeLogLevel(level){
      this.ajax_post({
        url: this.tenant.dataApi + "actuator/loggers/root",
        params: {'configuredLevel':level},
      }).then((res) => {
        this.spinShow = false;
        if (!res.code) {
          this.$Notice.success({
            title:'更改日志级别为'+level,
            desc:res.msg
          });
        } else {
          this.$Notice.error({
            title:'更改日志级别失败',
            desc:res.msg
          });
        }
      });
 }

最终效果如下:

 到此这篇关于Spring Boot Actuator管理日志的实现的文章就介绍到这了,更多相关Spring Boot Actuator管理日志内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java实现五子棋游戏

    Java实现五子棋游戏

    这篇文章主要为大家详细介绍了Java实现五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • 深入探究Java中的HashMap为什么会产生死循环

    深入探究Java中的HashMap为什么会产生死循环

    HashMap 死循环发生在 JDK 1.8 之前的版本中,这篇文章主要来和大家深入探究一下为什么Java中HashMap会产生死循环,感兴趣的小伙伴可以了解一下
    2023-05-05
  • java日期操作工具类(获取指定日期、日期转换、相隔天数)

    java日期操作工具类(获取指定日期、日期转换、相隔天数)

    这篇文章主要为大家详细介绍了java日期操作工具类,包括获取指定日期、日期转换、相隔天数等操作,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • springboot配置resilience4j全过程

    springboot配置resilience4j全过程

    这篇文章主要介绍了springboot配置resilience4j全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • java实现非法访问异常示例

    java实现非法访问异常示例

    创建ExceptionTest类,在该类的main()方法中,使用反射获得String类的所有域,不要使用setAccessible方法修改这些域的可见性,然后通过反射获得私有域中与”hash”相匹配的int值,并使用try-catch语句块捕获非法访问异常
    2014-02-02
  • Java多线程并发编程 Synchronized关键字

    Java多线程并发编程 Synchronized关键字

    现有一成员变量 Test,当线程 A 调用 Test 的 synchronized 方法,线程 A 获得 Test 的同步锁,同时,线程 B 也去调用 Test 的 synchronized 方法,此时线程 B 无法获得 Test 的同步锁,必须等待线程 A 释放 Test 的同步锁才能获得从而执行对应方法的代码
    2017-05-05
  • 详解SpringBoot如何实现整合微信登录

    详解SpringBoot如何实现整合微信登录

    本文主要介绍了SpringBoot实现整合微信登录的过程详解,文中的示例代码介绍的非常详细,对我们的学习过工作有一定的参考价值,需要的朋友可以关注下
    2021-12-12
  • Mybatis实现一对一查询映射处理

    Mybatis实现一对一查询映射处理

    MyBatis是一种流行的Java持久化框架,它提供了灵活而强大的查询映射功能,本文主要介绍了Mybatis实现一对一查询映射处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • Spring Bean配置方式总结

    Spring Bean配置方式总结

    定义Spring Bcan的3种方式分别是:基于XML 的方式配置、基于注解扫播方式配置、基于元数据类的配置,本文就通过代码示例给大家详细讲讲这三种配置方式,需要的朋友可以参考下
    2023-12-12
  • JAVA读取二进制文件以及画图教程

    JAVA读取二进制文件以及画图教程

    由于项目需要,需要对二进制文件进行读取,所以这篇文章主要给大家介绍了关于JAVA读取二进制文件以及画图的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07

最新评论