log4j日志动态加载方法
每次改了日志级别,需要重启,重启了有些问题不好重现了。而且进入容器,vi修改,再加上重启,再查看日志,整个过程需要30秒到1分钟。
那么怎么实现动态加载配置呢?
查看框架 com.*.*.log.Config4Log4j实现,思路如下:
当前类InputStream log4jPath = getClass().getResourceAsStream("/etc/log4j/log4j-app.properties");
Properties props = new Properties();
props.load(log4jPath);
org.apache.log4j.PropertyConfigurator.configure(props);
直接修改props里的属性,比如log4j.rootLogger=WARN,root,修改为 info,root 再调用PropertyConfigurator.configure(props);
实现动态加载。
在界面上配置info或者debug、warn级别可供选择,触发上面的逻辑,这样就达到目的了。