How to capture application log.

2 votes · 2 comments

You must request the android.permission.READ_LOGS in your Android Manifest.

Then you can run the logcat from the command line on the phone, and just get a dump of the output. I recommend filtering the output for both AndroidRuntime with the error level only (to gather exceptions that crashed your app) as well as all messages from your app's log tag.


raw ·
· download
Process mLogcatProc = null; BufferedReader reader = null; try { mLogcatProc = Runtime.getRuntime().exec(new String[] {"logcat", "-d", "AndroidRuntime:E [Your Log Tag Here]:V *:S" }); reader = new BufferedReader(new InputStreamReader (mLogcatProc.getInputStream())); String line; final StringBuilder log = new StringBuilder(); String separator = System.getProperty("line.separator"); while ((line = reader.readLine()) != null) { log.append(line); log.append(separator); } // do whatever you want with the log. I'd recommend using Intents to create an email } catch (IOException e) { ... } finally { if (reader != null) try { reader.close(); } catch (IOException e) { ... } }
Add a comment


You can find the source of an sample application at

Reply · April 24, 2009, 2:43 p.m.

This snippet has helped me more then you will ever know. Thank you so much for helping others learn!

Reply · May 21, 2009, 1:33 a.m.