J'ai remarqué que lorsque j'utilise Logcat avec Eclipse avec ADT pour Android, je reçois aussi des messages de nombreuses autres applications. Existe-t-il un moyen de filtrer cela et d'afficher uniquement les messages de ma propre application. Je vous remercie.
Réponses
Trop de publicités?Utilisez ps / grep / cut pour récupérer le PID, puis grep pour les entrées logcat avec ce PID. Voici la commande que j'utilise:
adb logcat | grep `adb shell ps | grep com.example.package | cut -c10-15`
(Vous pourriez améliorer la regex plus loin pour éviter le problème théorique des lignes de journaux sans rapport contenant le même nombre, mais cela n'a jamais été un problème pour moi)
Les noms de paquets sont garantis d'être unique, de sorte que vous pouvez utiliser l' Log
fonction avec la balise comme votre nom de paquet, puis filtrer par nom du package:
Log.<log level>("<your package name>", "message");
adb -d logcat <your package name>:<log level> *:S
-d
dénote un réel de l'appareil et de l' -e
dénote un émulateur. Si il n'y a plus de 1 émulateur cours d'exécution, vous pouvez utiliser -s emulator-<emulator number>
(par exemple, -s emulator-5558
)
Exemple: adb -d logcat com.example.example:I *:S
Ou si vous utilisez System.out.print
pour envoyer des messages dans le journal, vous pouvez utiliser adb -d logcat System.out:I *:S
pour afficher uniquement les appels Système..
Vous pouvez trouver tous les niveaux de journal, et plus d'info ici: http://developer.android.com/guide/developing/tools/adb.html#logcat
http://developer.android.com/reference/android/util/Log.html
EDIT: il Semble bien que j'ai sauté le pistolet un peu et viens de réaliser que vous posiez des questions sur logcat dans Eclipse. Ce que j'ai posté ci-dessus est pour l'utilisation de logcat par le biais de la bad à partir de la ligne de commande. Je ne sais pas si les mêmes filtres de transfert dans Eclipse.
Il semble que je ne peux pas répondre à somebodys réponse, donc je vais poster une nouvelle réponse. 'J'aimerais commentaire sur Tom Mulcahy réponse, juste pour montrer comment cette commande devrait changer de travail sur la plupart des appareils, car la commande adb shell ps PID colonne varie d'un appareil à l'autre
Les commandes ci-dessous ne peut fonctionner que si vous avez connecté plusieurs appareils avec la bad. si vous avez besoin de l'id de l'appareil. si vous n'avez pas plusieurs appareils, juste ne pas inclure les crochets '[', ']')
-
Pour trouver la colonne de pid, tapez:
bad [-s DEVICE_ID] shell ps | head-n 1
Maintenant l'enregistrer dans vos cerveaux cache, le numéro de colonne PID. La numérotation commence à partir de 1.
-
Puis tapez la commande suivante:
bad [-s DEVICE_ID] logcat | grep $(bad [-s DEVICE_ID] shell ps | grep "com.exemple" | awk -F" "' {print $COLONNE}')
NOTE: au-dessus de remplacer la COLONNE, la colonne que vous avez trouvé dans l'étape 1
NOTE2: chaque fois que vous exécutez votre application, vous devez exécuter de nouveau la commande ci-dessus, parce que l'application reçoit un nouveau PID de l'OS.
*Pour certaines raison de la substitution de commande n'a pas été figurant dans ici,
je l'ai donc remplacé ..
$( .. )