屏蔽HttpClient调用输出DEBUG信息

文章介绍了如何在Java程序中使用HttpClientAPI发送请求时,通过SLF4j和logback库来配置日志级别,屏蔽不必要的DEBUG信息,只显示特定部分如请求头和请求过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当调用HttpClient的API发送GET或POST请求时,总会在控制台中打印DEBUG信息,诸如:

......

13:28:46.648 [main] DEBUG org.apache.http.headers - http-outgoing-2 >> Content-Type: application/json;charset=UTF-8
13:28:46.648 [main] DEBUG org.apache.http.headers - http-outgoing-2 >> Content-Length: 251
13:28:46.648 [main] DEBUG org.apache.http.headers - http-outgoing-2 >> Host: 10.10.10.11:3000
13:28:46.648 [main] DEBUG org.apache.http.headers - http-outgoing-2 >> Connection: Keep-Alive
13:28:46.648 [main] DEBUG org.apache.http.headers - http-outgoing-2 >> User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_361)
13:28:46.648 [main] DEBUG org.apache.http.headers - http-outgoing-2 >> Accept-Encoding: gzip,deflate

......

通过调试以及根据网上的经验,如果是一个Java的main类中调试,则可直接在类中进行日志配置:

    static {
        // 屏蔽请求过程所有的debug日志
        org.slf4j.Logger httpLogger = LoggerFactory.getLogger("org.apache.http");
        ((ch.qos.logback.classic.Logger) httpLogger).setLevel(Level.WARN);
    }

上面的配置,是通过将所有以“org.apache.http”开头的日志级别提升为WARN,这样就可以间接的屏蔽掉DEBUG级别的日志。

也可以根据自己的需求定制其他方式:

    static {
        // 屏蔽请求过程所有的debug日志
        org.slf4j.Logger httpLogger = LoggerFactory.getLogger("org.apache.http");
        ((ch.qos.logback.classic.Logger) httpLogger).setLevel(Level.WARN);

        // 显示请求头的debug信息
        org.slf4j.Logger httpHeaderLogger = LoggerFactory.getLogger("org.apache.http.headers");
        ((ch.qos.logback.classic.Logger) httpHeaderLogger).setLevel(Level.DEBUG);

        // 显示请求过程的debug信息
        org.slf4j.Logger httpWireLogger = LoggerFactory.getLogger("org.apache.http.wire");
        ((ch.qos.logback.classic.Logger) httpWireLogger).setLevel(Level.DEBUG);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值