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