动态调整日志等级

当我感觉我有动态调整日志等级的需求时,我发现SpringBoot Actuator天然支持这种功能,进一步研究,我发现了SpringBoot Admin对SpringBoot Actuator进一步包装,提供了更友好的界面。但是SpringBoot Admin的定位不仅仅在于日志等级动态调整,且启用该功能需要每个服务都配置Admin Server,我并不是很满意这一点。

SpringBoot Admin局限性在于在调整logger等级时比较好用,在其他方面,我还没有发现什么特色。至于监控、查看Bean信息等,这些功能使用的频率并不高。如果只是为了调整logger等级,我比较热衷于开发一个小脚本实现。

如果SpringBoot Admin可以调整为用户主动添加式的,就是我启动一个Admin Server,然后我将我的一个服务地址给到它,它自动去请求数据,然后渲染服务相关的信息,如果我不需要它帮我监控了,我直接删除这个服务就好了。那么,我还是会选择Spring Boot Admin,并将这个工具作为我的工具箱之一。

无意间看到了美团团队关于这个问题的讨论,他们是在超高并发场景下讨论动态调整日志等级的重要性,并开发了自己的框架,而且他们还考虑到RestFul服务和纯RPC服务对该功能的需求。我们的产品目前没有超高并发的需求,而且我们也不存在纯RPC服务。我打算收集这些资料,并持续关注着,至于我目前的需求,我还是打算找一款更简单的工具或者直接通过脚本实现。

资料收集

  1. Spring Boot 2动态修改日志级别
  2. 日志级别动态调整——小工具解决大问题
  3. junjie2018/dynamic_adjust_log_level