Commit 9ef9a02b by zinc

请求网关添加log

parent d81a4708
package com.palacesun.engine.common; package com.palacesun.engine.common;
import com.palacesun.engine.gateway.EncryptionGatewayManager;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.palacesun.engine.gateway.EncryptionGatewayManager;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.http.HttpEntity; import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException; import org.apache.http.client.ClientProtocolException;
...@@ -10,13 +12,16 @@ import org.apache.http.entity.StringEntity; ...@@ -10,13 +12,16 @@ import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils; import org.apache.http.util.EntityUtils;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.Map;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
public class ClientUtil { public class ClientUtil {
private static final Log log = LogFactory.getLog(ClientUtil.class);
// HTTP请求日志debug开关,true表示开启详细日志,false表示关闭
private static final boolean HTTP_LOG_DEBUG = true;
public static ExecutorService executorService = Executors.newFixedThreadPool(10); public static ExecutorService executorService = Executors.newFixedThreadPool(10);
public static String doClient(String url, String json) { public static String doClient(String url, String json) {
...@@ -36,6 +41,17 @@ public class ClientUtil { ...@@ -36,6 +41,17 @@ public class ClientUtil {
CloseableHttpClient httpClient = buildHttpClient(); CloseableHttpClient httpClient = buildHttpClient();
HttpPost httpPost = new HttpPost(url); HttpPost httpPost = new HttpPost(url);
String result = null; String result = null;
long startTime = System.currentTimeMillis();
// 记录请求日志
if (HTTP_LOG_DEBUG) {
log.info("==================== HTTP请求开始 ====================");
log.info("请求URL: " + url);
log.info("请求方法: POST");
log.info("请求头: content-type=application/json;charset=UTF-8");
log.info("请求参数: " + (json != null ? json : "{}"));
log.info("请求时间: " + new java.util.Date());
}
try { try {
httpPost.setHeader("content-type", "application/json;charset=UTF-8"); httpPost.setHeader("content-type", "application/json;charset=UTF-8");
...@@ -46,9 +62,46 @@ public class ClientUtil { ...@@ -46,9 +62,46 @@ public class ClientUtil {
if (entity != null) { if (entity != null) {
result = EntityUtils.toString(entity, "UTF-8"); result = EntityUtils.toString(entity, "UTF-8");
} }
long endTime = System.currentTimeMillis();
// 记录响应日志
if (HTTP_LOG_DEBUG) {
log.info("==================== HTTP响应结束 ====================");
log.info("响应状态码: " + response.getStatusLine().getStatusCode());
log.info("响应状态: " + response.getStatusLine().getReasonPhrase());
log.info("响应参数: " + (result != null ? result : "null"));
log.info("响应时间: " + new java.util.Date());
log.info("请求耗时: " + (endTime - startTime) + " ms");
log.info("========================================================");
}
} catch (ClientProtocolException var20) { } catch (ClientProtocolException var20) {
long endTime = System.currentTimeMillis();
if (HTTP_LOG_DEBUG) {
log.error("==================== HTTP请求异常 ====================");
log.error("异常类型: ClientProtocolException");
log.error("异常信息: " + var20.getMessage());
log.error("请求耗时: " + (endTime - startTime) + " ms");
log.error("========================================================");
}
} catch (UnsupportedEncodingException var21) { } catch (UnsupportedEncodingException var21) {
long endTime = System.currentTimeMillis();
if (HTTP_LOG_DEBUG) {
log.error("==================== HTTP请求异常 ====================");
log.error("异常类型: UnsupportedEncodingException");
log.error("异常信息: " + var21.getMessage());
log.error("请求耗时: " + (endTime - startTime) + " ms");
log.error("========================================================");
}
} catch (Exception e) { } catch (Exception e) {
long endTime = System.currentTimeMillis();
if (HTTP_LOG_DEBUG) {
log.error("==================== HTTP请求异常 ====================");
log.error("异常类型: " + e.getClass().getSimpleName());
log.error("异常信息: " + e.getMessage());
log.error("请求耗时: " + (endTime - startTime) + " ms");
log.error("========================================================");
}
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
try { try {
...@@ -67,6 +120,18 @@ public class ClientUtil { ...@@ -67,6 +120,18 @@ public class ClientUtil {
HttpPost httpPost = new HttpPost(url); HttpPost httpPost = new HttpPost(url);
String result = null; String result = null;
String resultStatus = ""; String resultStatus = "";
long startTime = System.currentTimeMillis();
// 记录请求日志
if (HTTP_LOG_DEBUG) {
log.info("==================== HTTP请求开始(回调版本) ====================");
log.info("请求URL: " + url);
log.info("请求方法: POST");
log.info("请求头: content-type=application/json;charset=UTF-8");
log.info("请求参数: " + (json != null ? json : "{}"));
log.info("请求时间: " + new java.util.Date());
log.info("回调对象: " + (callback != null ? callback.getClass().getSimpleName() : "null"));
}
try { try {
httpPost.setHeader("content-type", "application/json;charset=UTF-8"); httpPost.setHeader("content-type", "application/json;charset=UTF-8");
...@@ -78,8 +143,19 @@ public class ClientUtil { ...@@ -78,8 +143,19 @@ public class ClientUtil {
result = EntityUtils.toString(entity, "UTF-8"); result = EntityUtils.toString(entity, "UTF-8");
} }
long endTime = System.currentTimeMillis();
// 记录响应日志
if (HTTP_LOG_DEBUG) {
log.info("==================== HTTP响应结束(回调版本) ====================");
log.info("响应状态码: " + response.getStatusLine().getStatusCode());
log.info("响应状态: " + response.getStatusLine().getReasonPhrase());
log.info("响应参数: " + (result != null ? result : "null"));
log.info("响应时间: " + new java.util.Date());
log.info("请求耗时: " + (endTime - startTime) + " ms");
}
JSONObject jsonObject = JSONObject.parseObject(result); JSONObject jsonObject = JSONObject.parseObject(result);
String data = (String)jsonObject.get("data"); String data = (String) jsonObject.get("data");
if (!jsonObject.get("code").equals("OOW_01")) { if (!jsonObject.get("code").equals("OOW_01")) {
if ("refresh".equals(data)) { if ("refresh".equals(data)) {
resultStatus = "refresh"; resultStatus = "refresh";
...@@ -88,16 +164,53 @@ public class ClientUtil { ...@@ -88,16 +164,53 @@ public class ClientUtil {
} }
callback.isSucc(data); callback.isSucc(data);
if (HTTP_LOG_DEBUG) {
log.info("回调处理: 成功处理,数据=" + data + ",结果状态=" + resultStatus);
}
} else { } else {
callback.clean(); callback.clean();
if (HTTP_LOG_DEBUG) {
log.info("回调处理: 执行清理操作");
}
} }
if (HTTP_LOG_DEBUG) {
log.info("====================================================================");
}
} catch (ClientProtocolException var24) { } catch (ClientProtocolException var24) {
long endTime = System.currentTimeMillis();
if (HTTP_LOG_DEBUG) {
log.error("==================== HTTP请求异常(回调版本) ====================");
log.error("异常类型: ClientProtocolException");
log.error("异常信息: " + var24.getMessage());
log.error("请求耗时: " + (endTime - startTime) + " ms");
log.error("回调处理: 执行失败回调");
log.error("====================================================================");
}
callback.isFail(); callback.isFail();
result = "noRefresh"; result = "noRefresh";
} catch (UnsupportedEncodingException var25) { } catch (UnsupportedEncodingException var25) {
long endTime = System.currentTimeMillis();
if (HTTP_LOG_DEBUG) {
log.error("==================== HTTP请求异常(回调版本) ====================");
log.error("异常类型: UnsupportedEncodingException");
log.error("异常信息: " + var25.getMessage());
log.error("请求耗时: " + (endTime - startTime) + " ms");
log.error("回调处理: 执行失败回调");
log.error("====================================================================");
}
callback.isFail(); callback.isFail();
result = "noRefresh"; result = "noRefresh";
} catch (Exception e) { } catch (Exception e) {
long endTime = System.currentTimeMillis();
if (HTTP_LOG_DEBUG) {
log.error("==================== HTTP请求异常(回调版本) ====================");
log.error("异常类型: " + e.getClass().getSimpleName());
log.error("异常信息: " + e.getMessage());
log.error("请求耗时: " + (endTime - startTime) + " ms");
log.error("回调处理: 执行失败回调");
log.error("====================================================================");
}
e.printStackTrace(); e.printStackTrace();
callback.isFail(); callback.isFail();
result = "noRefresh"; result = "noRefresh";
...@@ -118,9 +231,9 @@ public class ClientUtil { ...@@ -118,9 +231,9 @@ public class ClientUtil {
} }
public static void main(String[] args) { public static void main(String[] args) {
String url = "http://192.168.2.88:8182/initconfigfile/loadconfig"; log.info("ClientUtil main method started");
String url = "http://172.16.100.87:9005/initconfigfile/loadconfig";
String result = doClient(url, "{}"); String result = doClient(url, "{}");
Map stringToMap = JSONObject.parseObject(result);
System.out.println("result:" + result); System.out.println("result:" + result);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论