国产探花免费观看_亚洲丰满少妇自慰呻吟_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開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海丰县| 枞阳县| 丰城市| 渭南市| 麻城市| 精河县| 安西县| 阳新县| 河曲县| 海南省| 临城县| 延吉市| 伊宁县| 旬阳县| 城步| 平乡县| 安西县| 南澳县| 济源市| 葫芦岛市| 青田县| 涞源县| 恩平市| 贵州省| 蒙自县| 临洮县| 华安县| 镇平县| 临夏县| 江安县| 永靖县| 桑植县| 松滋市| 昌图县| 麦盖提县| 康定县| 南皮县| 新安县| 建水县| 鹤庆县| 罗定市|