请教 log4j2 动态改变日志过滤级别 通过 filter

2020-04-06 14:09:42 +08:00
 vchat

最近刚开始关注 log4j2,log4j2 提供了很多新特性,我想使用 filter 的方式来动态的改变日志输出级别,方便排查线上问题时查看日志, 这里我说明一下为啥不用Configurator.setLevel(String, Level): 这个 api 提供了设置日志级别, 但依然是阶梯级别 比如

Configurator.setLevel(logName, Level.DEBUG);

这样, 会输出 DEBUG < INFO < WARN < ERROR < FATAL 日志

有时候,我只想输出某一个范围的或固定某一级别的日志,比如 LevelRangeFilter 这样通过配置,可以达到控制级别范围和固定在某一级别的日志

所以一般会选择这个filter来做, 但是LevelRangeFilter达不到动态的控制,我想过通过自定义和LevelRangeFilter一样逻辑的filter 但好像不是最好的方式, 所以上来请教大家, 还有没有更好的办法来做?

谢谢了~

1825 次点击
所在节点    Java
2 条回复
k9990009
2020-04-06 20:23:31 +08:00
看下阿里的 Arthas
vchat
2020-04-07 22:31:30 +08:00
@k9990009 好的 多谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/659820

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX