Chcę zapisać całą zawartość log kota w określonym pliku w systemie Android. Użyłem Eclipse IDE do opracowania aplikacji na Androida.Zapisywanie danych z LogCat w Androidzie
Jak mogę to osiągnąć?
Dzięki.
Chcę zapisać całą zawartość log kota w określonym pliku w systemie Android. Użyłem Eclipse IDE do opracowania aplikacji na Androida.Zapisywanie danych z LogCat w Androidzie
Jak mogę to osiągnąć?
Dzięki.
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.
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:
@ 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.
@ 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.
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".
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)
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