Skip to content

Commit ffba1c5

Browse files
committed
解决异步请求同时进行,Log输出交杂的问题(通过tag filter方式实现)
1 parent 6ebdd3d commit ffba1c5

File tree

1 file changed

+32
-4
lines changed

1 file changed

+32
-4
lines changed

JetpackMvvm/src/main/java/me/hgj/jetpackmvvm/network/interceptor/logging/DefaultFormatPrinter.kt

+32-4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import me.hgj.jetpackmvvm.util.CharacterHandler.Companion.xmlFormat
88
import me.hgj.jetpackmvvm.util.LogUtils
99
import okhttp3.MediaType
1010
import okhttp3.Request
11+
import java.security.MessageDigest
12+
import java.security.NoSuchAlgorithmException
1113

1214
/**
1315
* 作者 : hegaojian
@@ -28,7 +30,7 @@ class DefaultFormatPrinter : FormatPrinter {
2830
request: Request,
2931
bodyString: String
3032
) {
31-
appendTag = URL_TAG + request.url()
33+
appendTag = md5(URL_TAG + request.url())
3234
val requestBody =
3335
LINE_SEPARATOR + BODY_TAG + LINE_SEPARATOR + bodyString
3436
val tag = getTag(true)
@@ -57,7 +59,7 @@ class DefaultFormatPrinter : FormatPrinter {
5759
* @param request
5860
*/
5961
override fun printFileRequest(request: Request) {
60-
appendTag = URL_TAG + request.url()
62+
appendTag = md5(URL_TAG + request.url())
6163
val tag = getTag(true)
6264
LogUtils.debugInfo(tag, REQUEST_UP_LINE)
6365
logLines(
@@ -102,7 +104,7 @@ class DefaultFormatPrinter : FormatPrinter {
102104
message: String,
103105
responseUrl: String
104106
) {
105-
appendTag = URL_TAG + responseUrl
107+
appendTag = md5(URL_TAG + responseUrl)
106108
var bodyString = bodyString
107109
bodyString =
108110
when {
@@ -161,7 +163,7 @@ class DefaultFormatPrinter : FormatPrinter {
161163
message: String,
162164
responseUrl: String
163165
) {
164-
appendTag = URL_TAG + responseUrl
166+
appendTag = md5(URL_TAG + responseUrl)
165167
val tag = getTag(false)
166168
val urlLine = arrayOf<String?>(
167169
URL_TAG + responseUrl,
@@ -363,5 +365,31 @@ class DefaultFormatPrinter : FormatPrinter {
363365
}
364366
return builder.toString()
365367
}
368+
369+
/**
370+
* md5加密
371+
*/
372+
private fun md5(string: String): String {
373+
if (TextUtils.isEmpty(string)) {
374+
return ""
375+
}
376+
val md5: MessageDigest
377+
try {
378+
md5 = MessageDigest.getInstance("MD5")
379+
val bytes = md5.digest(string.toByteArray())
380+
val result = java.lang.StringBuilder()
381+
for (b in bytes) {
382+
var temp = Integer.toHexString(b.toInt() and 0xff)
383+
if (temp.length == 1) {
384+
temp = "0$temp"
385+
}
386+
result.append(temp)
387+
}
388+
return result.toString()
389+
} catch (e: NoSuchAlgorithmException) {
390+
e.printStackTrace()
391+
}
392+
return ""
393+
}
366394
}
367395
}

0 commit comments

Comments
 (0)