Logging to a file on Android
- by Greg B
Is there any way of retrieving log messages from an Android handset.
I'm building an application which uses the GPS of my HTC Hero. I can run and debug the application from eclipse but this isn't a good use case of GPS, sat at my desk.
When I fire the app up when I am walking around, I get an intermittent exception. Is there anyway I can output these exceptions to a text file on the SD card or output calls to Log.x("") to a text file so that I can see what the exception is.
Thanks
EDIT : Solution
Here is the code I finally went with...
Thread.currentThread().setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
PrintWriter pw;
try {
pw = new PrintWriter(
new FileWriter(Environment.getExternalStorageDirectory()+"/rt.log", true));
ex.printStackTrace(pw);
pw.flush();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
});
I had to wrap the line
pw = new PrintWriter(new FileWriter(Environment.getExternalStorageDirectory()+"/rt.log", true));
in a try/catch as Eclipse would not let me compile the app. It kept saying
Unhandled exception type IOException
1 quick fix
Sorround with try/catch
So I did and it all works which is fine by me but it does make me wonder what Eclipse was on about...