Witam
Czy poniższy sposób zapisu logów do pliku txt na urządzeniu z Androidem jest dobry?
File appDirectory = new File( Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) + "/AppLogFolder" );
File logDirectory = new File( appDirectory + "/log" );
File logFile = new File( logDirectory, "logcat" + System.currentTimeMillis() + ".txt" );
// create app folder
if ( !appDirectory.exists() ) {
appDirectory.mkdir();
}
// create log folder
if ( !logDirectory.exists() ) {
logDirectory.mkdir();
}
// clear the previous logcat and then write the new one to the file
try {
Process process = Runtime.getRuntime().exec("logcat -c");
process = Runtime.getRuntime().exec("logcat -f " + logFile);
} catch ( IOException e ) {
e.printStackTrace();
}
Przetestowałem to i zapisuje mi pliki logów za każdym razem gdy uruchomię aplikację i pisze tam wszystko. A nie tego oczekuję, bo zaśmieca to urzadzenie.
Chcę zrobić aby tylko tworzyło i zapisywało logi tylko w przypadku błędów, jak to ugryźć?
Przejrzałem kilka tematów w necie, ale raczej żaden nie spełnia tego co potrzebuję.
Chyba tylko ten:
https://stackoverflow.com/questions/6757179/how-to-write-exception-in-log-file-using-android
Odpowiedź z class Logger.
Tylko czy jest ktoś w chetny mi to wytłumaczy jak to działa? Czy cała aplikacja bedzie objęta tym Loggerem? Czy musze ją jakoś wywoływać?