如何在logcat中看到长文本/消息?

时间:2010-01-04 06:53:05

标签: android console logcat

因为我们使用logcat作为android的控制台。 有些情况下输出文本/消息有点大,我看不到完整的输出。 log cat仅显示它的起始部分。 有没有办法扩展它,以便我可以看到完整的消息?

5 个答案:

答案 0 :(得分:15)

这是我解决问题的方法。希望它有所帮助。

在代码中使用它的重要方法是splitAndLog。

public class Utils {
    /**
     * Divides a string into chunks of a given character size.
     * 
     * @param text                  String text to be sliced
     * @param sliceSize             int Number of characters
     * @return  ArrayList<String>   Chunks of strings
     */
    public static ArrayList<String> splitString(String text, int sliceSize) {
        ArrayList<String> textList = new ArrayList<String>();
        String aux;
        int left = -1, right = 0;
        int charsLeft = text.length();
        while (charsLeft != 0) {
            left = right;
            if (charsLeft >= sliceSize) {
                right += sliceSize;
                charsLeft -= sliceSize;
            }
            else {
                right = text.length();
                aux = text.substring(left, right);
                charsLeft = 0;
            }
            aux = text.substring(left, right);
            textList.add(aux);
        }
        return textList;
    }

    /**
     * Divides a string into chunks.
     * 
     * @param text                  String text to be sliced
     * @return  ArrayList<String>   
     */
    public static ArrayList<String> splitString(String text) {
        return splitString(text, 80);
    }

    /**
     * Divides the string into chunks for displaying them
     * into the Eclipse's LogCat.
     * 
     * @param text      The text to be split and shown in LogCat
     * @param tag       The tag in which it will be shown.
     */
    public static void splitAndLog(String tag, String text) {
        ArrayList<String> messageList = Utils.splitString(text);
        for (String message : messageList) {
            Log.d(tag, message);
        }
    }
}

答案 1 :(得分:10)

我从不使用GUI来查看logcat输出,因此我不确定DDMS / Eclipse UI中是否存在滚动条。

无论如何,您可以从命令行使用logcat - 有很多选项。

持续观看有效设备的日志:adb logcat
转储整个日志:adb logcat -d
要将整个日志转储到文件:adb logcat -d > log.txt
过滤和显示特定的日志标记:adb logcat -s MyLogTag

......还有更多!

答案 2 :(得分:3)

如果你想编写长信息以便在logcat中查看,可能值得用android.util.Log方法编写自己的包装器,这会将你的长信息分成多行。

答案 3 :(得分:2)

当然,您可以更改列宽,只需单击并拖动行的末尾即可。对于很长的消息来说,这是一种痛苦。如果我有一个非常长的消息,我通常会复制该行并将其粘贴到文本文件中。 Windows中的Ctrl-C将复制它。

答案 4 :(得分:0)

要添加到Jay Askren的答案,您还可以双击“text”列标题的右边缘以完全展开它。我注意到即便如此,Eclipse将显示的字符数也有限制。