How can I see long texts/msg in logcat?

后端 未结 5 1267
谎友^
谎友^ 2021-02-05 07:44

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 st

相关标签:
5条回答
  • 2021-02-05 08:09

    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.

    0 讨论(0)
  • 2021-02-05 08:13

    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!

    0 讨论(0)
  • 2021-02-05 08:14

    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);
            }
        }
    }
    
    0 讨论(0)
  • 2021-02-05 08:16

    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.

    0 讨论(0)
  • 2021-02-05 08:20

    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.

    0 讨论(0)
提交回复
热议问题