Runt
2021-01-18 bf5729bbd51eeb83ebde68c1eaec98a26b9c0ee0
retrofit  网络请求失败打印修复,返回数据过多导致打印丢失问题
2 files modified
22 ■■■■ changed files
app/src/main/java/com/runt/sharedcode/utils/HttpLoggingInterceptor.java 15 ●●●●● patch | view | raw | blame | history
app/src/main/java/com/runt/sharedcode/utils/PrintLogUtils.java 7 ●●●● patch | view | raw | blame | history
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() {
        new Thread(() -> {
                printLog(logArrays);//线程安全方法,需在新线程执行,避免阻塞当前线程,导致程序无响应
            }
        }.start();
        }).start();
        return response;
    }
app/src/main/java/com/runt/sharedcode/utils/PrintLogUtils.java
@@ -70,13 +70,10 @@
        sb.append("┗"+getEmptyStr((length-end.length())/2,"━")+end+getEmptyStr((length-end.length())/2,"━")+"┛\n");
        sb.append(" \n\n\n");
        //Logger.DEFAULT.log(sb.toString());//打印log,避免多个log语句,导致log输出时其他线程的log输出切入此输出阵列内
        String[] split = sb.toString().split("\n");
        for(String str : split){
            if(info) {
                Log.i(TAG, str);
            Log.i(TAG, sb.toString());
            }else{
                Log.e(TAG, str);
            }
            Log.e(TAG, sb.toString());
        }
    }