Подтвердить что ты не робот

Как я могу видеть длинные тексты /msg в logcat?

Поскольку мы используем logcat как консоль для Android. Бывают случаи, когда выходной текст /msg является большим и я не вижу полного вывода. Лог-кошка показывает только стартовую часть. Есть ли способ расширить его, чтобы я мог видеть полный msg?

4b9b3361

Ответ 1

Если вы хотите писать длинные сообщения, чтобы увидеть в logcat, возможно, стоит написать собственную обертку вокруг методов android.util.Log, которая разбивает ваше длинное сообщение на несколько строк.

Ответ 2

Так я решил проблему. Надеюсь, что это поможет.

Важным методом его использования внутри вашего кода является 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 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);
        }
    }
}

Ответ 3

Я никогда не использую GUI для просмотра вывода logcat, поэтому я не уверен, где/есть ли полосы прокрутки в интерфейсе DDMS/Eclipse.

В любом случае, вы можете использовать logcat из командной строки — есть множество вариантов.

Следить за журналом активного устройства постоянно: adb logcat
Чтобы сбросить весь журнал: adb logcat -d
Чтобы выгрузить весь журнал в файл: adb logcat -d > log.txt
Чтобы фильтровать и отображать определенный тег журнала: adb logcat -s MyLogTag

... и многое другое!

Ответ 4

Конечно, вы можете изменить ширину столбца, просто перейдя к концу щелчка и перетаскивания строки. Это боль для действительно длинных сообщений. Если у меня действительно длинное сообщение, я обычно копирую строку и вставляю ее в текстовый файл. Ctrl-C в Windows скопирует его.

Ответ 5

Чтобы добавить к ответу Jay Askren, вы также можете дважды щелкнуть правой кнопкой мыши заголовок столбца "текст", чтобы полностью его расширить. Я заметил, что даже при этом будет отображаться ограничение на количество символов Eclipse.