131 votes

Lire logcat par programme dans l'application

Je souhaite lire et réagir aux journaux logcat au sein de mon application.

J'ai trouvé le code suivant:

 try {
  Process process = Runtime.getRuntime().exec("logcat -d");
  BufferedReader bufferedReader = new BufferedReader(
  new InputStreamReader(process.getInputStream()));

  StringBuilder log=new StringBuilder();
  String line = "";
  while ((line = bufferedReader.readLine()) != null) {
    log.append(line);
  }
  TextView tv = (TextView)findViewById(R.id.textView1);
  tv.setText(log.toString());
  } 
catch (IOException e) {}
 

Ce code renvoie en effet les journaux logcat qui ont été créés jusqu’à l’exécution en cours de l’application -

Mais est-il possible d'écouter en ligne les journaux de logcat?

60voto

Luis Points 7267

Vous pouvez continuer à lire les journaux en supprimant simplement l'indicateur "-d" dans votre code ci-dessus.

L'indicateur "-d" indique à logcat d'afficher le contenu du journal et de quitter. Si vous supprimez l'indicateur, logcat ne se terminera pas et continuera à envoyer toute nouvelle ligne ajoutée à celle-ci.

N'oubliez pas que cela peut bloquer votre application si elle n'est pas correctement conçue.

bonne chance.

3voto

pwb Points 21

Essayez d'explorer les sources CatLog sur GitHub

3voto

Allen Points 11

Le drapeau "-c" efface le tampon.

-c Efface (efface) la totalité du journal et quitte.

2voto

davehale23 Points 3191

Si vous voulez avoir envie, vous pouvez utiliser cette application. Il est open source, vous pouvez donc intégrer toutes les fonctionnalités dont vous avez besoin dans votre propre application.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X