retrofit 网络请求失败打印修复,返回数据过多导致打印丢失问题
| | |
| | | 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); |
| | | |
| | |
| | | |
| | | logArrays.add("<-- END HTTP (" + buffer.size() + "-byte body)"); |
| | | } |
| | | new Thread(){ |
| | | @Override |
| | | public void run() { |
| | | new Thread(() -> { |
| | | printLog(logArrays);//线程安全方法,需在新线程执行,避免阻塞当前线程,导致程序无响应 |
| | | } |
| | | }.start(); |
| | | }).start(); |
| | | return response; |
| | | } |
| | | |
| | |
| | | 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()); |
| | | } |
| | | } |
| | | |