Android中logcat长度超出上限处理方法

前言:

今天在开发过程中,获取网络数据返回的json字符串,使用Log打印出日志信息,发现输出的日志信息超出了上限,没有打印完整。
经查发现,Android系统的单条日志打印长度是有限的,长度是固定的4*1024个字符长度。
所以这里我们可以对输出的信息进行分段处理,以保证输出足够的长度。
简单的实现,代码如下:

import android.util.Log;

/**
 * 打印日志的工具类
 *
 * @author donkor
 */
public class LogUtil {
    //规定每段显示的长度
    private static int LOG_MAXLENGTH = 2000;

    public static void e(String TAG, String msg) {
            int strLength = msg.length();
            int start = 0;
            int end = LOG_MAXLENGTH;
            for (int i = 0; i < 100; i++) {
                //剩下的文本还是大于规定长度则继续重复截取并输出
                if (strLength > end) {
                    Log.e(TAG + i, msg.substring(start, end));
                    start = end;
                    end = end + LOG_MAXLENGTH;
                } else {
                    Log.e(TAG, msg.substring(start, strLength));
                    break;
                }
        }
    }
}

关于我

你可能感兴趣的:(Android中logcat长度超出上限处理方法)