close
The Wayback Machine - https://web.archive.org/web/20201111235202/https://github.com/ihsanbal/LoggingInterceptor
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
app
 
 
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

LoggingInterceptor - Interceptor for OkHttp3 with pretty logger

Build Status Image Android Arsenal API JAVA SwaggerUI

Image

Usage

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

Download

Gradle:

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

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

Maven:

<repository>
   <id>jitpack.io</id>
   <url>https://jitpack.io</url>
</repository>

<dependency>
    <groupId>com.github.ihsanbal</groupId>
    <artifactId>LoggingInterceptor</artifactId>
    <version>3.1.0</version>
</dependency>

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

Image Image

You can’t perform that action at this time.