Question

Since we are using logcat as a console for android. There are cases when the the output text/msg is kinda big and I can't see the complete output. The log cat shows only the starting part of it. Is there a way to expand it so that I can see the full msg?

Was it helpful?

Solution

If you want to write long messages to see in logcat it may be worth writing your own wrapper around the android.util.Log methods which splits your long message over multiple lines.

OTHER TIPS

This is the way I solved the problem. Hope it helps.

The important method for using it inside your code is 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);
        }
    }
}

I never use the GUI to view logcat output, so I'm not sure where/whether there are scrollbars in the DDMS/Eclipse UI.

Anyway, you can use logcat from the command line — there are loads of options.

To watch the log of an active device continually: adb logcat
To dump the whole log: adb logcat -d
To dump the whole log to a file: adb logcat -d > log.txt
To filter and display a particular log tag: adb logcat -s MyLogTag

...and much more!

Of course, you can change the column width, just by going to the end of the line clicking and dragging. That is a pain for really long messages. If I have a really long message, I generally copy the line and paste it into a text file. Ctrl-C in Windows will copy it.

To add to Jay Askren's answer, you can also double-click on the right-edge of the "text" column header to expand it fully. I've noticed that even so there's a limit to the number of chars Eclipse will display.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top