国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Retrofit2日志攔截器的使用

2019-10-21 21:35:54
字體:
來源:轉載
供稿:網友

顯示樣式如下,復制內容的時候使用鼠標中鍵進行選中

打印內容:code,請求方式,url,請求頭,請求體,返回json

Retrofit2,日志攔截器

class LoggerInterceptor : Interceptor { override fun intercept(chain: Interceptor.Chain?): Response { val orgRequest = chain!!.request() val response = chain.proceed(orgRequest) val body = orgRequest.body() val sb = StringBuilder() if (orgRequest.method() == "POST" && body is FormBody) {  val body1 = body  for (i in 0 until body1.size()) {  sb.append(body1.encodedName(i) + "=" + body1.encodedValue(i) + ",")  }  sb.delete(sb.length - 1, sb.length)  //打印post請求的信息  Logger.t(AppConfigs.LOGGER_NET_TAG).d("code=" + response.code() + "|method=" + orgRequest.method() + "|url=" + orgRequest.url()   + "/n" + "headers:" + orgRequest.headers().toMultimap()   + "/n" + "post請求體:{" + sb.toString() + "}") } else {  //打印get請求的信息  Logger.t(AppConfigs.LOGGER_NET_TAG).d("code=" + response.code() + "|method=" + orgRequest.method() + "|url=" + orgRequest.url()   + "/n" + "headers:" + orgRequest.headers().toMultimap()) } //返回json val responseBody = response.body() val contentLength = responseBody!!.contentLength()  val source = responseBody.source()  source.request(java.lang.Long.MAX_VALUE)  val buffer = source.buffer()  var charset = UTF8  val contentType = responseBody.contentType()  if (contentType != null) {  try {   charset = contentType.charset(UTF8)  } catch (e: UnsupportedCharsetException) {   return response  }  }  if (contentLength != 0L) {  //打印返回json  //json日志使用鼠標中鍵進行選中  Logger.t(AppConfigs.LOGGER_NET_TAG).json(buffer.clone().readString(charset))  } return response }}

在Application中進行初始化Logger

val strategy = PrettyFormatStrategy.newBuilder()  .showThreadInfo(false) // 是否顯示線程信息,默認為ture  .methodCount(1)  // 顯示的方法行數  .methodOffset(0) // 隱藏內部方法調用到偏移量  .tag("tag")  .build() Logger.addLogAdapter(object : AndroidLogAdapter(strategy) {  override fun isLoggable(priority: Int, tag: String?): Boolean {  return BuildConfig.DEBUG  } })

除了需要依賴Retrofit2相關依賴外還需要依賴

implementation 'com.orhanobut:logger:2.2.0'

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德昌县| 马山县| 黎川县| 灌南县| 汶川县| 绥宁县| 镇雄县| 双城市| 比如县| 西宁市| 南江县| 七台河市| 海丰县| 鲁山县| 杨浦区| 平泉县| 洛阳市| 醴陵市| 垦利县| 纳雍县| 隆德县| 东海县| 揭西县| 迁安市| 唐河县| 榆林市| 闸北区| 房产| 桂东县| 沈丘县| 上思县| 阿城市| 丘北县| 蓬溪县| 沂源县| 阆中市| 潼关县| 濮阳市| 福海县| 瑞金市| 合阳县|