默认情况下,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/