V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vchat
V2EX  ›  Java

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

  •  
  •   vchat · 2020-04-06 14:09:42 +08:00 · 1823 次点击
    这是一个创建于 1692 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    Configurator.setLevel(logName, Level.DEBUG);
    

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

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

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

    谢谢了~

    2 条回复    2020-04-07 22:31:30 +08:00
    k9990009
        1
    k9990009  
       2020-04-06 20:23:31 +08:00 via Android
    看下阿里的 Arthas
    vchat
        2
    vchat  
    OP
       2020-04-07 22:31:30 +08:00
    @k9990009 好的 多谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2821 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:42 · PVG 15:42 · LAX 23:42 · JFK 02:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.