问题背景:
目前需要根据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覆盖掉?
用Arthas吧。一行命令的事情。无侵入。实时生效。