热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

httpclient及http日志输出

目录httpclient及http日志输出借助logbook输出HTTP日志pom添加logbook依赖application.properties工程添加logbook

目录

httpclient及http日志输出

借助logbook输出HTTP日志

pom添加logbook依赖

application.properties

工程添加logbook filter以输出日志


 

httpclient及http日志输出

 

 

借助logbook输出HTTP日志

    在服务提供工程添加logbook filter以输出日志和服务消费者工程httpclient添加logbook拦截器

 

 


pom添加logbook依赖

org.zalandologbook-core${logbook.version}org.zalandologbook-servlet${logbook.version}org.zalandologbook-httpclient${logbook.version}org.zalandologbook-spring-boot-starter${logbook.version}

说明:

    1)logbook的依赖版本1.3.0;

 

application.properties

logging.config=classpath:log4j2.xml
logbook.write.level=TRACE
logbook.format.style=http

 

工程添加logbook filter以输出日志

package com.mooc.house.user.config;import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.HttpClientBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.zalando.logbook.httpclient.LogbookHttpRequestInterceptor;
import org.zalando.logbook.httpclient.LogbookHttpResponseInterceptor;@Configuration
@ConditionalOnClass({HttpClient.class})
@EnableConfigurationProperties(HttpClientProperties.class)
public class HttpClientAutoConfiguration {private final HttpClientProperties properties;public HttpClientAutoConfiguration(HttpClientProperties properties){this.properties = properties;}@Autowiredprivate LogbookHttpRequestInterceptor logbookHttpRequestInterceptor;@Autowiredprivate LogbookHttpResponseInterceptor logbookHttpResponseInterceptor;/*** httpclient bean 的定义* @return*/@Bean@ConditionalOnMissingBean(HttpClient.class)public HttpClient httpClient() {RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(properties.getConnectTimeOut()).setSocketTimeout(properties.getSocketTimeOut()).build();// 构建requestConfigHttpClient client = HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).setUserAgent(properties.getAgent()).setMaxConnPerRoute(properties.getMaxConnPerRoute()).setMaxConnTotal(properties.getMaxConnTotaol()).addInterceptorFirst(logbookHttpRequestInterceptor).addInterceptorFirst(logbookHttpResponseInterceptor).build();return client;}
}

说明:

1)添加拦截器LogbookHttpRequestInterceptor 和 LogbookHttpResponseInterceptor;

 

 

 

 

 

 

 

==============================

QQ群:143522604

群里有相关资源

欢迎和大家一起学习、交流、提升!

==============================

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


推荐阅读
author-avatar
许仙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有