2011-06-17 15 views
6

Czy zdarzenie systemu logowania systemu Android OS do pliku dziennika gdzieś? Jeśli tak, gdzie/jak mogę to przeczytać?Plik dziennika systemu Android

Tło: Po wyjściu z SEMC X10 Mini Pro zeszłej nocy, budzę się, aby stwierdzić, że jest wyłączony. Chciałbym zajrzeć do pliku dziennika, aby sprawdzić, kiedy i dlaczego telefon się wyłączył.

Odpowiedz

3

Znaleziono this older post, to może być interesujące również dla Ciebie.

+0

Log Collector z Android Market Place jest doskonały, dzięki. – Michael

0

Użyj tej klasy: To wite logowania do pliku na kartę SD

public class Logger { 

    public static final String APP_ID = "Android APP"; 
    public static String logDir = "/androidapp"; 
    public static String logFileName = "/log.txt"; 
    public static boolean writeLogsToFile = false; 
    public static final int LOG_LEVEL_VERBOSE = 4; 
    public static final int LOG_LEVEL_DEBUG = 3; 
    public static final int LOG_LEVEL_INFO = 2; 
    public static final int LOG_LEVEL_ERROR = 1; 
    public static final int LOG_LEVEL_OFF = 0; 
    public static final int CURRENT_LOG_LEVEL = LOG_LEVEL_DEBUG; 

    public static void log(String message, int logLevel) { 
     if (logLevel > CURRENT_LOG_LEVEL) { 
      return; 
     } else { 
      Log.v(APP_ID, message); 
      if (writeLogsToFile) { 
       writeToFile(message); 
      } 
     } 
    } 

    private static void writeToFile(String message) { 
     try { 
      File sdCard = Environment.getExternalStorageDirectory(); 
      File dir = new File(sdCard.getAbsolutePath() + logDir); 
      dir.mkdirs(); 
      File file = new File(dir, logFileName); 
      PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(file, true), 8 * 1024)); 
      writer.println(APP_ID + " " + new Date().toString() + " : " + message); 
      writer.flush(); 
      writer.close(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    public static void verbose(String message) { 
     log(message, LOG_LEVEL_VERBOSE); 
    } 

    public static void debug(String message) { 
     log(message, LOG_LEVEL_DEBUG); 
    } 

    public static void error(String message) { 
     log(message, LOG_LEVEL_ERROR); 
    } 

    public static void info(String message) { 
     log(message, LOG_LEVEL_INFO); 
    } 
}