温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Logger 怎么过滤

发布时间:2026-10-23 17:31:44 来源:亿速云 阅读:91 作者:小樊 栏目:编程语言

在 Java 里,“Logger 怎么过滤”通常取决于你用的是 哪种日志框架。下面按常见情况说明。


一、java.util.logging(JDK 自带 Logger)

1. 按级别过滤(Level)

Logger logger = Logger.getLogger("com.example");
logger.setLevel(Level.WARNING); // 只记录 WARNING 及以上

2. 使用 Filter 接口(更灵活)

logger.setFilter(record -> {
    // 只记录包含 "important" 的日志
    return record.getMessage().contains("important");
});

3. 在 Handler 上过滤

ConsoleHandler handler = new ConsoleHandler();
handler.setLevel(Level.SEVERE);
logger.addHandler(handler);

二、Logback(Spring 常用)

1. 按包 / 类过滤(logback.xml)

<logger name="com.example.service" level="DEBUG"/>
<logger name="com.example.dao" level="OFF"/>

2. 使用 LevelFilter

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>ERROR</level>
        <onMatch>ACCEPT</onMatch>
        <onMismatch>DENY</onMismatch>
    </filter>
</appender>

3. 自定义过滤器

public class MyFilter extends Filter<ILoggingEvent> {
    @Override
    public FilterReply decide(ILoggingEvent event) {
        return event.getMessage().contains("test")
                ? FilterReply.ACCEPT
                : FilterReply.DENY;
    }
}

三、Log4j2

1. 按级别

<Logger name="com.example" level="info"/>

2. 使用 ThresholdFilter

<Console name="Console">
    <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
</Console>

3. 自定义 Filter

public class MyFilter implements Filter {
    @Override
    public Result filter(LogEvent event) {
        return event.getMessage().getFormattedMessage().contains("debug")
                ? Result.DENY
                : Result.NEUTRAL;
    }
}

四、常见过滤需求对照

需求 推荐方式
只输出某个级别 setLevel / level 配置
屏蔽某个包 logger name + OFF
按关键字过滤 Filter / onMismatch
不同环境不同日志 profile + 配置文件

如果你能告诉我:

  • 用的是 JUL / Logback / Log4j2
  • 想过滤的是 级别 / 包 / 关键字 / 线程

我可以给你更精确的示例。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手