Need help with LoggingInterceptor?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

ihsanbal
1.2K Stars 81 Forks MIT License 159 Commits 5 Opened issues

Description

An OkHttp interceptor which has pretty logger for request and response. +Mock support

Services available

!
?

Need anything else?

Contributors list

# 80,167
Java
Android
Kotlin
logging...
67 commits
# 289,129
Java
Android
Kotlin
logging...
3 commits
# 80,066
Java
Android
Kotlin
mocking...
3 commits
# 25,576
Java
Android
Kotlin
mocking...
1 commit

LoggingInterceptor - Interceptor for OkHttp3 with pretty logger

Build Status Android Arsenal API SwaggerUI

Usage

val client = OkHttpClient.Builder()
    client.addInterceptor(LoggingInterceptor.Builder()
             .setLevel(Level.BASIC)
             .log(VERBOSE)
             .addHeader("cityCode","53")
             .addQueryParam("moonStatus", "crescent")
             .build())

Download

Gradle: ```groovy allprojects { repositories { maven { url 'https://jitpack.io' } } }

dependencies { implementation('com.github.ihsanbal:LoggingInterceptor:3.1.0') { exclude group: 'org.json', module: 'json' } } ```

Maven: ```xml jitpack.io https://jitpack.io

com.github.ihsanbal LoggingInterceptor 3.1.0 ```

Logger & Mock Support

LoggingInterceptor.Builder()
    //Add logger to print log as plain text
    .logger(object : Logger {
          override fun log(level: Int, tag: String?, msg: String?) {
              Log.e("$tag - $level", "$msg")
          }
      })
      //Enable mock for develop app with mock data
      .enableMock(BuildConfig.MOCK, 1000L, object : BufferListener {
          override fun getJsonResponse(request: Request?): String? {
              val segment = request?.url?.pathSegments?.getOrNull(0)
              return mAssetManager.open(String.format("mock/%s.json", segment)).source().buffer().readUtf8()
          }
      })

Level

setLevel(Level.BASIC)
          .NONE // No logs
          .BASIC // Logging url,method,headers and body.
          .HEADERS // Logging headers
          .BODY // Logging body

Platform - Platform

log(Platform.WARN) // setting log type

Tag

tag("LoggingI") // Request & response each log tag
request("request") // Request log tag
response("response") // Response log tag

Header - Recipes

addHeader("token", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 ") // Adding to request

Notes

Some tips about log at this blog post: “The way to get faster on development.”

Also use the filter & configure logcat header for a better result

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.