2011-07-01 23 views

Odpowiedz

10

Oto sposób na uzyskanie progrmatycznej zawartości Logcat.

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); 
} 

Sprawdź link this, aby uzyskać więcej informacji.

4
I want to save all the contents of log cat into specific file in Android. 

Pliki LogCat są zapisywane jako bufory pamięci cyklicznej w urządzeniu.

Po uruchomieniu "adb logcat > myfile" w systemie hosta można pobrać zawartość do pliku.

Zobacz to: https://sites.google.com/site/androidhowto/how-to-1/save-logcat-to-a-text-file

innych metod pobierania logcat:

  1. @ Blundell za sposób:

    Wybierz linie LogCat, które chcesz zapisać, a następnie wystarczy nacisnąć Ctrl + C (do kopiowania), a następnie użyj Ctrl + V (do wklejenia) w dowolnym pliku tekstowym.

  2. @ zNiek sposób:

    Na karcie logcat wybrać wiersze, które chcesz zapisać. Następnie w prawym górnym rogu kliknij mały trójkąt skierowany w dół, zwany „Menu Widok” i wybierz „Wybór Eksportuj jako tekst ..” Będzie cię zapytać, gdzie zapisać plik logcat.

7

W na karcie Logcat wybierz wszystkie linie, a następnie kliknij prawym przyciskiem myszy mały trójkąt skierowany w dół, zwany "Menu Widok" i wybierz "Eksportuj zaznaczenie jako tekst".

0

Mimo, że show @Kartik jest właściwym wyborem droga.

Szybkość można skopiować i wkleić. Zapewnienie pogląd logcat jest otwarty Eclipse> DDMS> logcat

następnie kliknij wiersz, który chcesz uruchomić w

przytrzymaj klawisz Shift (na multilinii wybierz)

kliknij wiersz, który ma zakończyć się w

i po prostu Ctrl + C (kopiuj)

Ctrl + V (wklej gdziekolwiek chcesz)

0

Moja metoda pozwala uzyskać zalogować sytuacji testowania, gdy urządzenie nie jest podłączone do ADB

Wystarczy stworzyć klona LogWrapper i w konstruktora utworzyć plik w pamięci zewnętrznej. Wybrałem DIRECTORY_PICTURES, ponieważ jest obecne na wszystkich urządzeniach. Constructor public LogWrapperExt() { sdf = new SimpleDateFormat ("\ n hh: mm: ss.SSS"); Ścieżka ciągu; isValid = true; boolean isPresent; spróbuj { topDirPath = Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_PICTURES); if (topDirPath! = Null) ścieżka = topDirPath.getCanonicalPath();

} catch (java.io.IOException e) { 
     isValid = false; 
    } catch (java.lang.NoSuchFieldError e) { 
     isValid = false; 
    } 
    if(isValid){ 
     logsFolder = new File(topDirPath + File.separator + "MyLogs");// put your name 
     if (!logsFolder.exists()) { 
      isPresent = logsFolder.mkdir(); 
     } 
     try { 
      String formattedDate = new Date().toString() ; 
      formattedDate = formattedDate.replaceAll(" ", "_"); 
      String fileName = "test_"+ formattedDate + ".txt"; 
      logFile = new File(logsFolder.getAbsolutePath(),fileName); 
      outputStreamLogFile = new FileOutputStream(logFile); 
     } catch (java.io.FileNotFoundException e) { 

     } 
    } 
} 

następnie w publicznych drukach void wydrukuj również.

Log.println(priority, tag, useMsg); 

    String myp = dateStr + " " + level_name[priority] + " " + tag + " " + useMsg; 
    try{ 
     outputStreamLogFile.write(myp.getBytes()); 
    } catch (java.io.IOException e) { 

    } 

Niektóre głową - To prawda, ale twoje dane w każdej sytuacji

nie zapomnij, aby zastąpić nazwę LogWrapper Twoi

Powiązane problemy