Skip to content

Commit 643e2ce

Browse files
author
ihsanbal
committed
app impl. & deprecated functions update
1 parent 9195b69 commit 643e2ce

File tree

4 files changed

+52
-67
lines changed

4 files changed

+52
-67
lines changed

README.md

Lines changed: 32 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -15,39 +15,14 @@ LoggingInterceptor - Interceptor for [OkHttp3](https://github.com/square/okhttp)
1515
Usage
1616
--------
1717

18-
```java
19-
20-
OkHttpClient.Builder client = new OkHttpClient.Builder();
21-
client.addInterceptor(new LoggingInterceptor.Builder()
22-
.loggable(BuildConfig.DEBUG)
23-
.setLevel(Level.BASIC)
24-
.log(Platform.INFO)
25-
.request("Request")
26-
.response("Response")
27-
.addHeader("version", BuildConfig.VERSION_NAME)
28-
.addQueryParam("query", "0")
29-
.enableMock(true, 1000L, request -> {
30-
String segment = request.url().pathSegments().get(0);
31-
return Okio.buffer(Okio.source(mAssetManager.open(String.format("mock/%s.json", segment)))).readUtf8();
32-
})
33-
// .enableAndroidStudio_v3_LogsHack(true) /* enable fix for logCat logging issues with pretty format */
34-
// .logger(new Logger() {
35-
// @Override
36-
// public void log(int level, String tag, String msg) {
37-
// Log.w(tag, msg);
38-
// }
39-
// })
40-
// .executor(Executors.newSingleThreadExecutor())
41-
.build());
42-
OkHttpClient okHttpClient = client.build();
43-
44-
//You can use with Retrofit
45-
Retrofit retrofitAdapter = new Retrofit.Builder()
46-
.addConverterFactory(GsonConverterFactory.create())
47-
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
48-
.baseUrl("https://.../")
49-
.client(okHttpClient)
50-
.build();
18+
```kotlin
19+
val client = OkHttpClient.Builder()
20+
client.addInterceptor(LoggingInterceptor.Builder()
21+
.setLevel(Level.BASIC)
22+
.log(VERBOSE)
23+
.addHeader("cityCode","53")
24+
.addQueryParam("moonStatus", "crescent")
25+
.build())
5126
```
5227

5328
Download
@@ -57,13 +32,12 @@ Gradle:
5732
```groovy
5833
allprojects {
5934
repositories {
60-
...
6135
maven { url 'https://jitpack.io' }
6236
}
6337
}
6438
6539
dependencies {
66-
compile('com.github.ihsanbal:LoggingInterceptor:3.0.0') {
40+
compile('com.github.ihsanbal:LoggingInterceptor:3.1.0-rc3') {
6741
exclude group: 'org.json', module: 'json'
6842
}
6943
}
@@ -79,19 +53,34 @@ Maven:
7953
<dependency>
8054
<groupId>com.github.ihsanbal</groupId>
8155
<artifactId>LoggingInterceptor</artifactId>
82-
<version>3.0.0</version>
56+
<version>3.1.0-rc3</version>
8357
</dependency>
8458
```
8559

8660

87-
Executor
88-
--------
89-
Add executor for allows to perform sequential concurrent print.
61+
Logger & Mock Support
62+
---------------------
63+
```kotlin
64+
LoggingInterceptor.Builder()
65+
//Add logger to print log as plain text
66+
.logger(object : Logger {
67+
override fun log(level: Int, tag: String?, msg: String?) {
68+
Log.e("$tag - $level", "$msg")
69+
}
70+
})
71+
//Enable mock for develop app with mock data
72+
.enableMock(BuildConfig.MOCK, 1000L, object : BufferListener {
73+
override fun getJsonResponse(request: Request?): String? {
74+
val segment = request?.url?.pathSegments?.getOrNull(0)
75+
return mAssetManager.open(String.format("mock/%s.json", segment)).source().buffer().readUtf8()
76+
}
77+
})
78+
```
9079

9180
Level
9281
--------
9382

94-
```java
83+
```kotlin
9584
setLevel(Level.BASIC)
9685
.NONE // No logs
9786
.BASIC // Logging url,method,headers and body.
@@ -102,15 +91,14 @@ setLevel(Level.BASIC)
10291
Platform - [Platform](https://github.com/square/okhttp/blob/master/okhttp/src/main/java/okhttp3/internal/platform/Platform.java)
10392
--------
10493

105-
```java
106-
loggable(BuildConfig.DEBUG) // enable/disable sending logs output.
94+
```kotlin
10795
log(Platform.WARN) // setting log type
10896
```
10997

11098
Tag
11199
--------
112100

113-
```java
101+
```kotlin
114102
tag("LoggingI") // Request & response each log tag
115103
request("request") // Request log tag
116104
response("response") // Response log tag
@@ -120,7 +108,7 @@ response("response") // Response log tag
120108
Header - [Recipes](https://github.com/square/okhttp/wiki/Recipes)
121109
--------
122110

123-
```java
111+
```kotlin
124112
addHeader("token", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 ") // Adding to request
125113
```
126114

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ dependencies {
6161
implementation(project(':lib')) {
6262
exclude group: 'org.json', module: 'json'
6363
}
64-
// implementation('com.github.ihsanbal:LoggingInterceptor:3.1.0-rc1') {
64+
// implementation('com.github.ihsanbal:LoggingInterceptor:3.1.0-rc2') {
6565
// exclude group: 'org.json', module: 'json'
6666
// }
6767
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

app/src/main/java/ihsanbal/com/logginginterceptor/di/NetModule.kt

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
package ihsanbal.com.logginginterceptor.di
22

33
import android.content.res.AssetManager
4-
import android.util.Log.INFO
5-
import com.ihsanbal.logging.BufferListener
4+
import android.util.Log.VERBOSE
65
import com.ihsanbal.logging.Level
76
import com.ihsanbal.logging.LoggingInterceptor
87
import dagger.Module
98
import dagger.Provides
109
import ihsanbal.com.logginginterceptor.BuildConfig
1110
import ihsanbal.com.logginginterceptor.api.Api
1211
import okhttp3.OkHttpClient
13-
import okhttp3.Request
14-
import okio.buffer
15-
import okio.source
1612
import retrofit2.Retrofit
1713
import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory
1814
import retrofit2.converter.gson.GsonConverterFactory
@@ -29,23 +25,21 @@ class NetModule(private val mEndPoint: String, private val mAssetManager: AssetM
2925
fun provideOkHttpClient(): OkHttpClient {
3026
val client = OkHttpClient.Builder()
3127
client.addInterceptor(LoggingInterceptor.Builder()
32-
.loggable(BuildConfig.DEBUG)
3328
.setLevel(Level.BASIC)
34-
.log(INFO)
29+
.log(VERBOSE)
3530
.addHeader("version", BuildConfig.VERSION_NAME)
3631
.addQueryParam("query", "0")
37-
// .enableAndroidStudioV3LogsHack(true)
38-
// .logger(object : Logger {
39-
// override fun log(level: Int, tag: String?, msg: String?) {
40-
// Log.e("$tag - $level", "$msg")
41-
// }
42-
// })
43-
.enableMock(BuildConfig.MOCK, 1000L, object : BufferListener {
44-
override fun getJsonResponse(request: Request?): String? {
45-
val segment = request?.url?.pathSegments?.getOrNull(0)
46-
return mAssetManager.open(String.format("mock/%s.json", segment)).source().buffer().readUtf8()
47-
}
48-
})
32+
// .logger(object : Logger {
33+
// override fun log(level: Int, tag: String?, msg: String?) {
34+
// Log.e("$tag - $level", "$msg")
35+
// }
36+
// })
37+
// .enableMock(BuildConfig.MOCK, 1000L, object : BufferListener {
38+
// override fun getJsonResponse(request: Request?): String? {
39+
// val segment = request?.url?.pathSegments?.getOrNull(0)
40+
// return mAssetManager.open(String.format("mock/%s.json", segment)).source().buffer().readUtf8()
41+
// }
42+
// })
4943
.build())
5044
return client.build()
5145
}

lib/src/main/java/com/ihsanbal/logging/LoggingInterceptor.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ class LoggingInterceptor private constructor(private val builder: Builder) : Int
9696
val httpUrl: HashMap<String, String> = HashMap()
9797
var isLogHackEnable = false
9898
private set
99-
var isDebug = false
99+
var isDebugAble = false
100100
var type: Int = INFO
101101
private set
102102
private var requestTag: String? = null
@@ -185,8 +185,11 @@ class LoggingInterceptor private constructor(private val builder: Builder) : Int
185185
* @param isDebug set can sending log output
186186
* @return Builder
187187
*/
188+
@Deprecated(message = "Set level based on your requirement",
189+
replaceWith = ReplaceWith(expression = "setLevel(Level.Basic)"),
190+
level = DeprecationLevel.ERROR)
188191
fun loggable(isDebug: Boolean): Builder {
189-
this.isDebug = isDebug
192+
this.isDebugAble = isDebug
190193
return this
191194
}
192195

@@ -259,6 +262,6 @@ class LoggingInterceptor private constructor(private val builder: Builder) : Int
259262
}
260263

261264
init {
262-
isDebug = builder.isDebug
265+
isDebug = builder.isDebugAble
263266
}
264267
}

0 commit comments

Comments
 (0)