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
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.
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!
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);
}
}
}
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.
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.