Zapisywanie Logu do pliku txt w przypadku błedu aplikacji Android

0

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ć?

1

slabo szukasz, tutaj masz mozliwe wykorzytanie ACRA lub inna implementacje
https://stackoverflow.com/questions/601503/how-do-i-obtain-crash-data-from-my-android-application

0
pozdroooo2 napisał(a):

slabo szukasz, tutaj masz mozliwe wykorzytanie ACRA lub inna implementacje
https://stackoverflow.com/questions/601503/how-do-i-obtain-crash-data-from-my-android-application

Dzieki, mam małe pytanko, korzystając z trzeciej odpowiedzi z powyższego tematu, czy w każdym Activity w metodzie onCreate() musze to wpisywać , czy tylko w mainActivity? Chyba, że źle zrozumiałe i zupełnie w innym miejscu to powinno być.

if(!(Thread.getDefaultUncaughtExceptionHandler() instanceof CustomizedExceptionHandler)) {
    Thread.setDefaultUncaughtExceptionHandler(new CustomizedExceptionHandler());
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1