动态实时读取nacos配置文件log level值,不重启服务,且生效
问题背景:
目前需要根据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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
用Arthas吧。一行命令的事情。无侵入。实时生效。
有一个解决方法,弄一个专门做这个的通用模块,然后所有服务都引用依赖该模块