Android系统对日志长度有限制的,最大长度为4K(注意是字符串的长度),超过这个范围的自动截断,所以就会出现打印不全的情况。
解决办法
public class LogUtil { /** * 截断输出日志 * @param msg */ public static void e(String tag, String msg) { if (tag == null || tag.length() == 0 || msg == null || msg.length() == 0) return; int segmentSize = 3 * 1024; long length = msg.length(); if (length <= segmentSize ) {// 长度小于等于限制直接打印 Log.e(tag, msg); }else { while (msg.length() > segmentSize ) {// 循环分段打印日志 String logContent = msg.substring(0, segmentSize ); msg = msg.replace(logContent, ""); Log.e(tag, logContent); } Log.e(tag, msg);// 打印剩余日志 } } }