android logcat输出json长度不足
来源:互联网 发布:淘宝卖玉器最好的店 编辑:程序博客网 时间:2024/05/22 12:39
需求:希望调试阶段能够看到日志信息,如进行网络请求则输出返回的json串,但是当json过长时log打印不全,所以进行如下处理:
String readData = response.body(); if(readData.length()>0){ readData = readData.replaceAll(",",",\n"); readData = readData.replaceAll("\\[","[\n"); readData = readData.replaceAll("\\]","\n]"); readData = readData.replaceAll("\\{","{\n"); readData = readData.replaceAll("\\}","\n}"); int start = 0; int maxLog = 500; LogUtil.i("realbody:"); while (readData.length()>start){ String temp = ""; if(readData.length()>start+maxLog){ temp = readData.substring(start,start+maxLog); }else{ temp = readData.substring(start); } int index = getBestIndex(temp); if(index!=-1 && temp.length()==maxLog && index < temp.length()) temp = readData.substring(start,start+index); else index = temp.length()-1; start =start+index+1; LogUtil.i(temp); } }
private int getBestIndex(String temp) { int index = temp.lastIndexOf("}"); int index2 = temp.lastIndexOf("]"); int index3 = temp.lastIndexOf(",")+1; return Math.max(index,Math.max(index2,index3)); }
代码解析:
1.遇到逗号,[,],{,}进行换行(方便看,如果讨厌换行太多,则可以把逗号那个去掉)。
readData = readData.replaceAll(",",",\n"); readData = readData.replaceAll("\\[","[\n"); readData = readData.replaceAll("\\]","\n]"); readData = readData.replaceAll("\\{","{\n"); readData = readData.replaceAll("\\}","\n}");
2.确定一次最多输出的log长度(注意观察logcat,输出太多会显示不全)
maxLog = 500;
3.获取字串
String temp = ""; if(readData.length()>start+maxLog){ temp = readData.substring(start,start+maxLog); }else{ temp = readData.substring(start); }
这段好理解,就不解释了
4.智能截取,因为固定截取长度会出现单词截取不全的情况,因此使用getBestIndex()获取最后的逗号,],}位置,然后进行截取,尽量保证词完整性。
int index = getBestIndex(temp); if(index!=-1 && temp.length()==maxLog && index < temp.length()) temp = readData.substring(start,start+index); else index = temp.length()-1; start =start+index+1;
5.ps:一点建议
建议只在测试环境下进行输出,正式上线环境不要进行输出。
阅读全文
0 0
- android logcat输出json长度不足
- logcat 格式化输出json
- Android Logcat 直接输出JSON格式的数据
- android logcat 不输出
- android logcat输出
- Android logcat不输出
- android logcat 无法正常输出
- Android logcat 怎么输出中文
- 恢复 android logcat 不输出
- Android Logcat指定TAG输出
- Android DDMS无法输出logcat
- 解决android的logcat中文输出
- Android-JNI输出LogCat调试信息
- 解决Android LogCat 输出乱码的问题
- 解决Android LogCat 输出乱码的问题
- Android利用logcat输出调试信息
- Android利用logcat输出调试信息
- Android开发,LogCat没有信息输出
- 测试用例设计设计方法——正交实验法
- Elasticsearch、Kibana权限控制
- win10安装flash ax debuger
- E盘提示文件系统损坏要怎样办啊
- Java并发编程
- android logcat输出json长度不足
- call 与 apply
- 使用mysqldump导出数据后导入错误的问题
- Java进阶(一)Java内存解析
- Java获取当前时间+中国时区工具类
- 大数据处理模式 hadoop storm spark
- Android系统联系人全特效实现,字母表快速滚动
- 时间序列(二)数据重采样
- LeetCode201. Bitwise AND of Numbers Range