李锋镝的博客

  • 首页
  • 时间轴
  • 留言
  • 插件
  • 左邻右舍
  • 关于我
    • 关于我
    • 另一个网站
  • 知识库
  • 赞助
Destiny
自是人生长恨水长东
  1. 首页
  2. 原创
  3. 正文

关闭apache httpclient4.5 DEBUG日志

2019年7月9日 21517点热度 0人点赞 2条评论

今天有个小任务,需要调用接口同步数据,然后就写了一个JAVA类,打算直接本地执行main()去同步数据。

代码中使用了apache的httpclient来访问接口,发现输出日志太多了,

httpclient maven依赖如下:

<dependency>
     <groupId>org.apache.httpcomponents</groupId>
     <artifactId>httpclient</artifactId>
     <version>4.5.2</version>
</dependency>

日志输出示例如下:

11:37:01.845 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
11:37:01.845 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_121)[\r][\n]"
11:37:01.845 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "[\r][\n]"
11:37:01.902 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "HTTP/1.1 200 [\r][\n]"
11:37:01.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Date: Tue, 09 Jul 2019 03:37:03 GMT[\r][\n]"
11:37:01.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Content-Type: application/json;charset=UTF-8[\r][\n]"
11:37:01.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Transfer-Encoding: chunked[\r][\n]"
11:37:01.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Connection: keep-alive[\r][\n]"
11:37:01.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "X-Application-Context: "
11:37:01.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Set-Cookie: JSESSIONID=29D13760D2D3E2493442448AA192DBDF;path=/;HttpOnly[\r][\n]"
11:37:01.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Expires: 0[\r][\n]"
11:37:01.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "X-Content-Type-Options: nosniff[\r][\n]"
11:37:01.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "X-XSS-Protection: 1; mode=block[\r][\n]"
11:37:01.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "X-Frame-Options: DENY[\r][\n]"

密密麻麻一堆的DEBUG日志,乌压压的,都是没什么用的信息。

请求单个接口还好,如果请求接口过多就会很快的覆盖掉关键的日志。

Apache官网文档也没有找到对应的说明,可能是我找的方法不对?附上官网地址:http://hc.apache.org/httpcomponents-client-4.5.x/logging.html

然后百度也没有找到很好的解决办法,大家都是千篇一律的粘贴复制,很是头疼。

自己捣鼓好半天。

最后的解决办法还是老套路:项目中增加logback.xml文件,文件路径看各自的项目,我的是springboot,就放在了resources目录下。然后logback.xml文件中配置如下:

<configuration debug="false">
    <logger name="org.apache" level="DEBUG" />
    <logger name="org.apache.http.wire" level="DEBUG" />
    <logger name="org.apache.http.headers" level="INFO" />

    <property name="CONSOLE_LOG_PATTERN"
              value="%date{yyyy-MM-dd HH:mm:ss}  %highlight(%-5level) %magenta(%-4relative) --- [%yellow(%15.15thread)] %cyan(%-40.40logger{39}) : %msg%n"/>


    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
        </encoder>
    </appender>

    <root level="ERROR">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>

org.apache.http.wire:配置wire输入的日志级别的

org.apache.http.headers:配置headers输入的日志级别的

org.apache:配置org.apache路径下的相关的日志的输出的

...

改其他的日志的输出也是同理

其实这个配置不用多说,很简单很基础的logback的配置,只不过一时没想起来。这就很尴尬...

日志以记之。

除非注明,否则均为李锋镝的博客原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.lifengdi.com/archives/article/465

相关文章

  • 结合Apollo配置中心实现日志级别动态配置
  • SpringBoot常用注解
  • CompletableFuture使用详解
  • SpringBoot 中内置的 49 个常用工具类
  • SpringBoot 实现接口防刷的 5 种实现方案
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: apache httpclient JAVA logback SpringBoot 日志
最后更新:2019年7月10日

李锋镝

既然选择了远方,便只顾风雨兼程。

打赏 点赞
< 上一篇
下一篇 >

文章评论

  • nopromises

    不是说跑的main方法么,改配置文件有用?不会被加载吧

    2020年7月28日
    回复
    • 813221068

      @nopromises 日志使用的是logback,logback初始化加载配置文件顺序是logback-text.xml,logback.groovy,logback.xml,按顺序去读文件,文件存在就加载配置,main方法里面也会生效

      2021年3月1日
      回复
  • 1 2 3 4 5 6 7 8 9 11 12 13 14 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 57 58 60 61 62 63 64 65 66 67 69 72 74 76 77 78 79 80 81 82 85 86 87 90 92 93 94 95 96 97 98 99
    回复 nopromises 取消回复

    莫听穿林打叶声,何妨吟啸且徐行。
    竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。
    料峭春风吹酒醒,微冷,山头斜照却相迎。
    回首向来萧瑟处,归去,也无风雨也无晴。

    最新 热点 随机
    最新 热点 随机
    SpringBoot框架自动配置之spring.factories和AutoConfiguration.imports 应用型负载均衡(ALB)和网络型负载均衡(NLB)区别 什么是Helm? TransmittableThreadLocal介绍与使用 ReentrantLock深度解析 RedisTemplate和Redisson的区别
    玩博客的人是不是越来越少了?准备入手个亚太的ECS,友友们有什么建议吗?什么是Helm?2024年11月1号 农历十月初一别再背线程池的七大参数了,现在面试官都这么问URL地址末尾加不加“/”有什么区别
    TransmittableThreadLocal介绍与使用 maven依赖本地jar包 SpringBoot中@ImportAutoConfiguration注解与@Import和@EnableAutoConfiguration注解的区别 微服务架构梳理总结 jsdelivr的CDN加速好像不行了…… 试了下壁挂炉供暖
    标签聚合
    ElasticSearch 分布式 文学 JVM MySQL 数据库 SQL Spring 架构 面试 SpringBoot Redis 教程 多线程 JAVA K8s docker 日常 IDEA 设计模式
    友情链接
    • i架构
    • 临窗旋墨
    • 博友圈
    • 博客录
    • 博客星球
    • 哥斯拉
    • 志文工作室
    • 搬砖日记
    • 旋律的博客
    • 旧时繁华
    • 林羽凡
    • 知向前端
    • 蜗牛工作室
    • 集博栈
    • 韩小韩博客
    • 風の声音

    COPYRIGHT © 2025 lifengdi.com. ALL RIGHTS RESERVED.

    Theme Kratos Made By Dylan

    津ICP备2024022503号-3