Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- onResume
- Git
- 403 Error
- itemAnimator
- navigation component
- App Startup
- shotcut
- datastore
- prettyJson
- notification
- BottomSheetDialog
- ExifInterface
- Plugins
- room
- application
- 이미지 gps
- LOG
- ActivityResultContracts
- requestPermission
- webview
- circlecrop
- Blinking
- Android
- notification bar
- jsontokotlinclass
- ChromeCustomTab
- onReceivedSslError
- kdoc-generator
- notification setting
- skipcollapsed
Archives
- Today
- Total
Debbi Story
[Android] OkHttpClient + Moshi response Log 보기 쉽게 출력하기! 본문
728x90
안녕하세요. 보통 네트워크 통신 응답을 Log로 찍게되면 줄바꿈이 안되고
내용이 많을땐 짤려서 보이게 됩니다.
아래처럼 사용하시면 json형식으로 보기 쉽게 출력이 됩니다!
val logger = HttpLoggingInterceptor.Logger { message ->
if (!message.startsWith("{") && !message.startsWith("[")) {
Timber.tag("OkHttp").d(message)
return@Logger
}
try {
val source = Buffer().writeUtf8(message)
val reader = JsonReader.of(source)
val value = reader.readJsonValue()
val adapter = Moshi.Builder().build().adapter<Any>(Any::class.java).indent(" ")
val result = adapter.toJson(value)
Timber.tag("OkHttp_Moshi").d(result)
}catch (e: Exception) {
e.printStackTrace()
Timber.tag("OkHttp").d(message)
}
}
val logging = HttpLoggingInterceptor(logger)
if (BuildConfig.DEBUG) logging.level = HttpLoggingInterceptor.Level.BODY
val okHttpClient = OkHttpClient.Builder()
okHttpClient.interceptors().add(logging)
okHttpClient.build()
'안드로이드 > Tip' 카테고리의 다른 글
[Android Studio] 내가 자주 사용하는 단축키 정리. (0) | 2021.12.30 |
---|---|
[Android] BottomSheetDialog 완전히 펼치기 (0) | 2021.12.13 |
[Android] RecyclerView blinking issue 깜박임 문제 (0) | 2021.12.08 |
[Android] Permission 거부 처리 ActivityResultContracts (0) | 2021.11.17 |
[Android] 네트워크 연결 감지하기! (0) | 2021.11.14 |