Android - 设置 logcat 消息的最大长度

标签 android logging

默认情况下,logcat 似乎会截断它认为“太长”的任何日志消息。在 Eclipse 内部以及使用 adb -d logcat 在命令行上运行 logcat 时都会发生这种情况,并且会截断一些重要的调试消息。

有没有办法增加logcat支持的最大字符串长度以使其停止截断调试信息? official documentation暗示可能不存在,但也许 logcat 支持一些此处未提及的其他选项?

最佳答案

好的,有趣。我很失望地看到答案是“你不能真正扩展它”。我最初的想法是将其分解,以便我可以查看整个内容,因此在这里我与您分享我是如何做到这一点的(并不是说它有什么奇特的东西,也不是它接近高效,而是它可以在紧要关头完成工作):

if (sb.length() > 4000) {
    Log.v(TAG, "sb.length = " + sb.length());
    int chunkCount = sb.length() / 4000;     // integer division
    for (int i = 0; i <= chunkCount; i++) {
        int max = 4000 * (i + 1);
        if (max >= sb.length()) {
            Log.v(TAG, "chunk " + i + " of " + chunkCount + ":" + sb.substring(4000 * i));
        } else {
            Log.v(TAG, "chunk " + i + " of " + chunkCount + ":" + sb.substring(4000 * i, max));
        }
    }
} else {
    Log.v(TAG, sb.toString());
}

编辑以显示最后一个字符串!

关于Android - 设置 logcat 消息的最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51486537/

相关文章:

firefox - 来自 Firefox 附加组件的控制台日志记录

java - 在 Android 上清除内部存储中的文件内容

android - 更改 root android 设备的 CPU 调速器

android - 无法使用 Glide 刷新验证码图像

android - 为什么 EditText.getText 在 Android 中显示为 null?

java - 从 Firebase 数据库读取数据失败

android - 如何显示两个 Activity 之间的进度对话框?

java - 安卓异常说明

java - 正在生成多个日志文件

elasticsearch - Filebeat可以在管道中没有logstash的情况下将日志行输出转换为json吗?