From bf5729bbd51eeb83ebde68c1eaec98a26b9c0ee0 Mon Sep 17 00:00:00 2001
From: Runt <qingingrunt2010@qq.com>
Date: Mon, 18 Jan 2021 05:30:30 +0000
Subject: [PATCH] retrofit 网络请求失败打印修复,返回数据过多导致打印丢失问题
---
app/src/main/java/com/runt/sharedcode/utils/HttpLoggingInterceptor.java | 17 ++++++++++-------
1 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/app/src/main/java/com/runt/sharedcode/utils/HttpLoggingInterceptor.java b/app/src/main/java/com/runt/sharedcode/utils/HttpLoggingInterceptor.java
index 48165e3..29846f3 100644
--- a/app/src/main/java/com/runt/sharedcode/utils/HttpLoggingInterceptor.java
+++ b/app/src/main/java/com/runt/sharedcode/utils/HttpLoggingInterceptor.java
@@ -113,7 +113,13 @@
response = chain.proceed(request);
} catch (Exception e) {
logArrays.add("<-- HTTP FAILED: " + e);
- throw e;
+ new Thread() {
+ @Override
+ public void run() {
+ printLog(logArrays,false);//线程安全方法,需在新线程执行,避免阻塞当前线程,导致程序无响应
+ }
+ }.start();
+ throw e;//抛出异常,用于请求接收信息
}
long tookMs = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startNs);
@@ -153,12 +159,9 @@
logArrays.add("<-- END HTTP (" + buffer.size() + "-byte body)");
}
- new Thread(){
- @Override
- public void run() {
- printLog(logArrays);//线程安全方法,需在新线程执行,避免阻塞当前线程,导致程序无响应
- }
- }.start();
+ new Thread(() -> {
+ printLog(logArrays);//线程安全方法,需在新线程执行,避免阻塞当前线程,导致程序无响应
+ }).start();
return response;
}
--
Gitblit v1.9.1