Como posso ver textos longos/msg no logcat?
Pergunta
Como estamos usando o Logcat como um console para o Android. Há casos em que o texto de saída/msg é meio grande e eu não consigo ver a saída completa. O gato de log mostra apenas a parte inicial dele. Existe uma maneira de expandi -lo para que eu possa ver a MSG completa?
Solução
Se você quiser escrever mensagens longas para ver em logcat
pode valer a pena escrever seu próprio invólucro em torno do android.util.Log
Métodos que dividem sua longa mensagem em várias linhas.
Outras dicas
É assim que resolvi o problema. Espero que ajude.
O método importante para usá -lo dentro do seu código é 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);
}
}
}
Eu nunca uso a GUI para visualizar a saída do logcat, então não tenho certeza de onde/se existem barras de rolagem na interface do usuário DDMS/Eclipse.
De qualquer forma, você pode usar o Logcat da linha de comando - existem muitas opções.
Para assistir ao registro de um dispositivo ativo continuamente: adb logcat
Para despejar todo o log: adb logcat -d
Para despejar todo o log em um arquivo: adb logcat -d > log.txt
Para filtrar e exibir uma tag de log específica: adb logcat -s MyLogTag
...e muito mais!
Obviamente, você pode alterar a largura da coluna, apenas indo para o final da linha clicando e arrastando. Isso é uma dor para mensagens muito longas. Se eu tiver uma mensagem muito longa, geralmente copio a linha e a colo em um arquivo de texto. Ctrl-C no Windows copiará.
Para adicionar à resposta de Jay Askren, você também pode clicar duas vezes no cabeçalho da coluna "texto" para expandi-lo completamente. Percebi que, mesmo assim, há um limite para o número de chars eclipse será exibido.