android logcat在打印日志时如果日志过长会将日志截断。网上搜索处理这个问题的常规做法是设置一个长度阀值,如果日志长度超过这个阀值就将日志截断,分成多条日志来打印。
这种方案带来的问题是日志会变得很不易读,最近被这个问题搞得很烦,写了一个工具来解决该问题。方案思路:
- android端启动一个http server + 一个websocket server
- 在与android设备同局域网下的浏览器上启动一个websocket client来跟android端的server通信
- 在打印log时,由server通知client在网页端展示
方案地址:
https://github.com/glzlaohuai/WebLogCat
具体使用方法:
添加依赖
implementation 'com.koushikdutta.async:androidasync:2.+'
implementation 'com.imob:weblogcat:0.0.1'
初始化
WebLogCat.init(context);
查看日志
打开浏览器访问地址:http://<你的安卓设备的ip地址>:8088
,在初始化完成时该lib也会打印查看日志的地址,你可以根据tag:IMOB-WebLogCat
来过滤日志以查看该地址
打印日志
WebLogCat.log(tag,msg,logLevel,throwable);