动态实时读取nacos配置文件log level值,不重启服务,且生效

发布于 2022-09-11 23:31:50 字数 560 浏览 20 评论 0

问题背景:

目前需要根据nacos配置中log level来打印日志,比如我原来是info级别,现在改为DEBUG级别,那么通过nacos如何来实现这个,前提是需要修改nacos实时生效,不用重启服务?

我尝试过的方法:

我尝试过的方法:在微服务的类添加@RefreshScope注解,在bootstrap.yml文件设置refresh为true,然后在类中用@value注解读取nacos的log level最新值,通过一段logback的代码来设置最新的log level。这个方法可以实现。但是leader说应该有不用写代码就可以搞定,比如加注解之类就行。目前没有找到相关资料

我期待的结果是:

不用再每个服务里面都写相同的logback设置log level代码,只需要注解或者其他方法就可以实现,实时修改nacos,不用重启项目就可以生效的方法。

备注:

比如我有多个微服务,那么在nacos里面,有个common,还有每个单独微服务的配置,里面都有log level的设置,有木有办法通过修改common的log level生效,且不会被单独服务中的log level覆盖掉?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

‘画卷フ 2022-09-18 23:31:50

用Arthas吧。一行命令的事情。无侵入。实时生效。

美胚控场 2022-09-18 23:31:50

有一个解决方法,弄一个专门做这个的通用模块,然后所有服务都引用依赖该模块

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文