Skip to content

Commit c3d91cf

Browse files
author
v_yholu
committed
重写日志模块
1 parent 5584ad6 commit c3d91cf

40 files changed

+268
-187
lines changed

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/App.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import com.tencent.iot.explorer.link.core.auth.socket.callback.PayloadMessageCal
1616
import com.tencent.iot.explorer.link.core.auth.util.Weak
1717
import com.tencent.iot.explorer.link.demo.common.log.L
1818
import com.tencent.iot.explorer.link.core.link.entity.TRTCParamsEntity
19+
import com.tencent.iot.explorer.link.demo.common.log.L.ld
20+
import com.tencent.iot.explorer.link.demo.common.log.L.le
1921
import com.tencent.iot.explorer.link.demo.rtc.TRTCSdkDemoSessionManager
2022
import com.tencent.iot.explorer.link.rtc.model.*
2123
import com.tencent.iot.explorer.link.rtc.ui.audiocall.TRTCAudioCallActivity
@@ -56,7 +58,7 @@ class App : Application(), PayloadMessageCallback {
5658
IoTAuth.init(APP_KEY, APP_SECRET)
5759
IoTAuth.addLoginExpiredListener(object : LoginExpiredListener {
5860
override fun expired(user: User) {
59-
L.d("用户登录过期")
61+
ld { "用户登录过期" }
6062
}
6163
})
6264
IoTAuth.registerSharedBugly(this) //接入共享式bugly
@@ -83,7 +85,9 @@ class App : Application(), PayloadMessageCallback {
8385
private fun trtcCallDevice(callingType: Int) {
8486
IoTAuth.deviceImpl.trtcCallDevice(data.callingDeviceId, object: MyCallback {
8587
override fun fail(msg: String?, reqCode: Int) {
86-
if (msg != null) L.e(msg)
88+
msg?.let {
89+
le { it }
90+
}
8791
}
8892

8993
override fun success(response: BaseResponse, reqCode: Int) {

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/BaseActivity.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import android.widget.Toast
1010
import androidx.appcompat.app.AppCompatActivity
1111
import androidx.core.app.ActivityCompat
1212
import androidx.viewbinding.ViewBinding
13-
import com.tencent.iot.explorer.link.demo.common.log.L
13+
import com.tencent.iot.explorer.link.demo.common.log.L.le
1414
import com.tencent.iot.explorer.link.demo.common.util.Watermark
1515
import com.tencent.iot.explorer.link.demo.core.activity.MainActivity
1616
import com.tencent.xnet.XP2P
@@ -78,10 +78,10 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {
7878
protected fun checkPermissions(permissions: Array<String>): Boolean {
7979
for (p in permissions) {
8080
if (ActivityCompat.checkSelfPermission(this, p) == PackageManager.PERMISSION_DENIED) {
81-
L.e(p + "被拒绝")
81+
le { "${p}被拒绝" }
8282
return false
8383
}
84-
L.e(p + "已经申请成功")
84+
le { p + "已经申请成功" }
8585
}
8686
return true
8787
}

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/common/log/L.kt

Lines changed: 86 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,37 +4,107 @@ import android.util.Log
44

55
internal object L {
66

7+
private const val DEFAULT_TAG = "demo"
8+
79
var isLog = false
10+
var LOG_LEVEL = 3 // 允许输出log的级别(1:输出所有日志, 6:不输出日志)
11+
const val LEVEL_VERBOSE = 1 // 日志输出级别 V
12+
const val LEVEL_INFO = 2 // 日志输出级别 I
13+
const val LEVEL_DEBUG = 3 // 日志输出级别 D
14+
const val LEVEL_WARN = 4 // 日志输出级别 W
15+
const val LEVEL_ERROR = 5 // 日志输出级别 E
16+
const val LEVEL_NONE = 6 // 不输出日志
817

9-
private const val DEFAULT_TAG = "demo"
1018

11-
fun e(msg: String) {
12-
e(DEFAULT_TAG, msg)
19+
fun e(msgBuilder: () -> String) {
20+
e({ DEFAULT_TAG }, msgBuilder)
21+
}
22+
23+
fun e(tagBuilder: () -> String, msgBuilder: () -> String) {
24+
if (isLog && LEVEL_ERROR >= LOG_LEVEL) {
25+
Log.e(tagBuilder(), msgBuilder())
26+
}
27+
}
28+
29+
fun d(msgBuilder: () -> String) {
30+
d({ DEFAULT_TAG }, msgBuilder)
31+
}
32+
33+
fun d(tagBuilder: () -> String, msgBuilder: () -> String) {
34+
if (isLog && LEVEL_DEBUG >= LOG_LEVEL) {
35+
Log.d(tagBuilder(), msgBuilder())
36+
}
37+
}
38+
39+
fun i(msgBuilder: () -> String) {
40+
i({ DEFAULT_TAG }, msgBuilder)
41+
}
42+
43+
fun i(tagBuilder: () -> String, msgBuilder: () -> String) {
44+
if (isLog && LEVEL_INFO >= LOG_LEVEL) {
45+
Log.i(tagBuilder(), msgBuilder())
46+
}
47+
}
48+
49+
inline fun <reified T> T.lv(msgBuilder: () -> String) {
50+
lv(tagBuilder = { T::class.simpleName ?: DEFAULT_TAG }, msgBuilder = msgBuilder)
51+
}
52+
53+
inline fun <reified T> T.lv(tagBuilder: () -> String, msgBuilder: () -> String) {
54+
if (isLog && LEVEL_VERBOSE >= LOG_LEVEL) {
55+
Log.v(tagBuilder(), msgBuilder())
56+
}
57+
}
58+
59+
inline fun <reified T> T.li(msgBuilder: () -> String) {
60+
li(tagBuilder = { T::class.simpleName ?: DEFAULT_TAG }, msgBuilder = msgBuilder)
61+
}
62+
63+
inline fun <reified T> T.li(tagBuilder: () -> String, msgBuilder: () -> String) {
64+
if (isLog && LEVEL_INFO >= LOG_LEVEL) {
65+
Log.i(tagBuilder(), msgBuilder())
66+
}
67+
}
68+
69+
inline fun <reified T> T.ld(msgBuilder: () -> String) {
70+
ld(tagBuilder = { T::class.simpleName ?: DEFAULT_TAG }, msgBuilder = msgBuilder)
1371
}
1472

15-
fun e(tag: String, msg: String) {
16-
if (isLog) {
17-
Log.e(tag, msg)
73+
inline fun <reified T> T.ld(tagBuilder: () -> String, msgBuilder: () -> String) {
74+
if (isLog && LEVEL_DEBUG >= LOG_LEVEL) {
75+
Log.d(tagBuilder(), msgBuilder())
1876
}
1977
}
2078

21-
fun d(msg: String) {
22-
d(DEFAULT_TAG, msg)
79+
inline fun <reified T> T.lw(msgBuilder: () -> String) {
80+
lw(tagBuilder = { T::class.simpleName ?: DEFAULT_TAG }, msgBuilder = msgBuilder)
2381
}
2482

25-
fun d(tag: String, msg: String) {
26-
if (isLog) {
27-
Log.d(tag, msg)
83+
inline fun <reified T> T.lw(msgBuilder: () -> String, throwable: Throwable? = null) {
84+
lw(tagBuilder = { T::class.simpleName ?: DEFAULT_TAG }, msgBuilder = msgBuilder, throwable)
85+
}
86+
87+
inline fun <reified T> T.lw(tagBuilder: () -> String, msgBuilder: () -> String, throwable: Throwable? = null) {
88+
if (isLog && LEVEL_WARN >= LOG_LEVEL) {
89+
throwable?.let {
90+
Log.w(tagBuilder(), msgBuilder())
91+
} ?: Log.w(tagBuilder(), msgBuilder(), throwable)
2892
}
2993
}
3094

31-
fun i(msg: String) {
32-
i(DEFAULT_TAG, msg)
95+
inline fun <reified T> T.le(msgBuilder: () -> String) {
96+
le(tagBuilder = { T::class.simpleName ?: DEFAULT_TAG }, msgBuilder = msgBuilder)
97+
}
98+
99+
inline fun <reified T> T.le(msgBuilder: () -> String, throwable: Throwable? = null) {
100+
le(tagBuilder = { T::class.simpleName ?: DEFAULT_TAG }, msgBuilder = msgBuilder, throwable)
33101
}
34102

35-
fun i(tag: String, msg: String) {
36-
if (isLog) {
37-
Log.i(tag, msg)
103+
inline fun <reified T> T.le(tagBuilder: () -> String, msgBuilder: () -> String, throwable: Throwable? = null) {
104+
if (isLog && LEVEL_ERROR >= LOG_LEVEL) {
105+
throwable?.let {
106+
Log.e(tagBuilder(), msgBuilder())
107+
} ?: Log.e(tagBuilder(), msgBuilder(), throwable)
38108
}
39109
}
40110

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/common/util/LogcatHelper.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
import android.content.Context;
44
import android.os.Environment;
55
import android.util.Log;
6+
7+
import com.tencent.iot.explorer.link.demo.common.log.L;
8+
69
import java.io.BufferedReader;
710
import java.io.File;
811
import java.io.FileNotFoundException;
@@ -30,12 +33,12 @@ public void init(Context context) {
3033
File file = new File(PATH_LOGCAT);
3134
if (!file.exists()) {
3235
if (file.mkdirs()) {
33-
Log.e(TAG, "创建日志目录成功,目录为:" + PATH_LOGCAT);
36+
L.INSTANCE.e(() -> "创建日志目录成功,目录为:" + PATH_LOGCAT);
3437
} else {
35-
Log.e(TAG, "创建日志目录失败");
38+
L.INSTANCE.e(() -> "创建日志目录失败");
3639
}
3740
}else {
38-
Log.e(TAG, "日志目录已存在,目录为:" + PATH_LOGCAT);
41+
L.INSTANCE.e(() -> "日志目录已存在,目录为:" + PATH_LOGCAT);
3942
}
4043
}
4144

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/core/activity/AddFamilyActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class AddFamilyActivity : BaseActivity<ActivityAddFamilyBinding>() {
3636
}
3737
IoTAuth.familyImpl.createFamily(familyName, familyAddress, object : MyCallback {
3838
override fun fail(msg: String?, reqCode: Int) {
39-
L.e(msg ?: "")
39+
L.e { msg ?: "" }
4040
}
4141

4242
override fun success(response: BaseResponse, reqCode: Int) {

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/core/activity/AddRoomActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class AddRoomActivity : BaseActivity<ActivityAddRoomBinding>(), MyCallback {
3737
}
3838

3939
override fun fail(msg: String?, reqCode: Int) {
40-
L.e(msg ?: "")
40+
L.e { msg ?: "" }
4141
}
4242

4343
override fun success(response: BaseResponse, reqCode: Int) {

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/core/activity/AddTimingProjectActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ class AddTimingProjectActivity : BaseActivity<ActivityAddTimingProjectBinding>()
178178
}
179179

180180
override fun fail(msg: String?, reqCode: Int) {
181-
L.e(msg ?: "")
181+
L.e { msg ?: "" }
182182
}
183183

184184
override fun success(response: BaseResponse, reqCode: Int) {

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/core/activity/BindMobilePhoneActivity.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class BindMobilePhoneActivity : BaseActivity<ActivityBindMobilePhoneBinding>() {
3535
}
3636
IoTAuth.userImpl.sendBindPhoneCode(countryCode, account, object : MyCallback {
3737
override fun fail(msg: String?, reqCode: Int) {
38-
L.d(msg ?: "")
38+
L.d { msg ?: "" }
3939
}
4040

4141
override fun success(response: BaseResponse, reqCode: Int) {
@@ -57,7 +57,7 @@ class BindMobilePhoneActivity : BaseActivity<ActivityBindMobilePhoneBinding>() {
5757
}
5858
IoTAuth.userImpl.checkBindPhoneCode(countryCode, account, code, object : MyCallback {
5959
override fun fail(msg: String?, reqCode: Int) {
60-
L.d(msg ?: "")
60+
L.d { msg ?: "" }
6161
}
6262

6363
override fun success(response: BaseResponse, reqCode: Int) {
@@ -73,7 +73,7 @@ class BindMobilePhoneActivity : BaseActivity<ActivityBindMobilePhoneBinding>() {
7373
private fun bindPhone() {
7474
IoTAuth.userImpl.bindPhone(countryCode, account, code, object : MyCallback {
7575
override fun fail(msg: String?, reqCode: Int) {
76-
L.d(msg ?: "")
76+
L.d { msg ?: "" }
7777
}
7878

7979
override fun success(response: BaseResponse, reqCode: Int) {

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/core/activity/ConnectDeviceActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ class ConnectDeviceActivity : BaseActivity<ActivityConnectDeviceBinding>() {
6666
override fun onResume() {
6767
super.onResume()
6868
(applicationContext.getSystemService(Context.WIFI_SERVICE) as? WifiManager)?.connectionInfo?.let {
69-
L.d("当前WIFI名:${it.ssid}")
69+
L.d { "当前WIFI名:${it.ssid}" }
7070
var ssidName = it.ssid.replace("\"", "")
7171

7272
with(binding) {
@@ -187,7 +187,7 @@ class ConnectDeviceActivity : BaseActivity<ActivityConnectDeviceBinding>() {
187187
override fun onSuccess(deviceInfo: DeviceInfo) {
188188
this@ConnectDeviceActivity.deviceInfo = deviceInfo
189189
this.onStep(SoftAPStep.STEP_DEVICE_BOUND)
190-
L.e("开始绑定设备")
190+
L.e { "开始绑定设备" }
191191
}
192192

193193
override fun reconnectedSuccess(deviceInfo: DeviceInfo) {

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/core/activity/ControlPanelActivity.kt

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import com.tencent.iot.explorer.link.demo.core.popup.EditPopupWindow
3333
import com.tencent.iot.explorer.link.demo.core.popup.EnumPopupWindow
3434
import com.tencent.iot.explorer.link.demo.core.popup.NumberPopupWindow
3535
import com.tencent.iot.explorer.link.demo.common.customView.MyDivider
36+
import com.tencent.iot.explorer.link.demo.common.log.L.ld
3637
import com.tencent.iot.explorer.link.demo.databinding.ActivityControlPanelBinding
3738
import com.tencent.iot.explorer.link.rtc.model.RoomKey
3839
import com.tencent.iot.explorer.link.rtc.model.TRTCUIManager
@@ -185,7 +186,7 @@ class ControlPanelActivity : BaseActivity<ActivityControlPanelBinding>(), Contro
185186
* 控制设备
186187
*/
187188
private fun controlDevice(id: String, value: String) {
188-
L.d("上报数据:id=$id value=$value")
189+
L.d { "上报数据:id=$id value=$value" }
189190
var data = "{\"$id\":\"$value\"}"
190191
if (id == TRTC_VIDEO_CALL_STATUS || id == TRTC_AUDIO_CALL_STATUS) { //如果点击选择的是trtc设备的呼叫状态
191192
if (value == "1") { //并且状态值为1,代表应用正在call设备
@@ -198,11 +199,11 @@ class ControlPanelActivity : BaseActivity<ActivityControlPanelBinding>(), Contro
198199
IoTAuth.deviceImpl.controlDevice(it.ProductId, it.DeviceName, data,
199200
object : MyCallback {
200201
override fun fail(msg: String?, reqCode: Int) {
201-
L.e(msg ?: "")
202+
L.e { msg ?: "" }
202203
}
203204

204205
override fun success(response: BaseResponse, reqCode: Int) {
205-
L.e(response.msg)
206+
L.e { response.msg }
206207
}
207208
})
208209
}
@@ -217,7 +218,7 @@ class ControlPanelActivity : BaseActivity<ActivityControlPanelBinding>(), Contro
217218
IoTAuth.deviceImpl.modifyDeviceAlias(it.ProductId, it.getAlias(), entity.value,
218219
object : MyCallback {
219220
override fun fail(msg: String?, reqCode: Int) {
220-
L.e(msg ?: "")
221+
L.e { msg ?: "" }
221222
}
222223

223224
override fun success(response: BaseResponse, reqCode: Int) {
@@ -405,7 +406,7 @@ class ControlPanelActivity : BaseActivity<ActivityControlPanelBinding>(), Contro
405406
* 设备监听成功回调(内部解析成功)
406407
*/
407408
override fun success(payload: Payload) {
408-
L.e("Payoad", payload.toString())
409+
L.e({ "Payoad" }, { payload.toString() })
409410
JSON.parseObject(payload.data).run {
410411
keys.forEachIndexed { _, id ->
411412
run setData@{
@@ -425,15 +426,15 @@ class ControlPanelActivity : BaseActivity<ActivityControlPanelBinding>(), Contro
425426
* 设备监听成功回调(内部解析失败)
426427
*/
427428
override fun unknown(json: String, errorMessage: String) {
428-
L.e("unknown-json", json)
429-
L.e("unknown-errorMessage", errorMessage)
429+
L.e({ "unknown-json" }, { json })
430+
L.e({ "unknown-errorMessage" }, { errorMessage })
430431
}
431432

432433
/**
433434
* 面板数据返回成功
434435
*/
435436
override fun success(panelList: List<ControlPanel>) {
436-
L.d("面板数据返回成功", JsonManager.toJson(panelList))
437+
L.d({ "面板数据返回成功" }, { JsonManager.toJson(panelList) })
437438
runOnUiThread {
438439
this.panelList.addAll(panelList)
439440
showTimingProject()
@@ -446,14 +447,14 @@ class ControlPanelActivity : BaseActivity<ActivityControlPanelBinding>(), Contro
446447
* 面板数据更新时
447448
*/
448449
override fun refresh() {
449-
L.e("面板数据更新时 refresh()")
450+
L.e { "面板数据更新时 refresh()" }
450451
runOnUiThread {
451452
adapter.notifyDataSetChanged()
452453
}
453454
}
454455

455456
override fun fail(msg: String) {
456-
L.d(TAG, msg)
457+
ld { msg }
457458
}
458459

459460
override fun onBackPressed() {

0 commit comments

Comments
 (0)