vchat
V2EX  ›  Java

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

  •  
  •   vchat · Apr 6, 2020 · 2527 views
    This topic created in 2232 days ago, the information mentioned may be changed or developed.

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

    Configurator.setLevel(logName, Level.DEBUG);
    

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

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

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

    谢谢了~

    2 replies    2020-04-07 22:31:30 +08:00
    k9990009
        1
    k9990009  
       Apr 6, 2020 via Android
    看下阿里的 Arthas
    vchat
        2
    vchat  
    OP
       Apr 7, 2020
    @k9990009 好的 多谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3148 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 14:28 · PVG 22:28 · LAX 07:28 · JFK 10:28
    ♥ Do have faith in what you're doing.