2011-11-30 49 views
1

我想读取日志并将其保存到应用程序内部的字符串中。我使用Log.d(..)来保存日志。我读过你使用logcat?但是,这在运行android手机时不起作用。是否有需要切换的布尔值READ_LOG?读取日志并将其保存为字符串

回答

2
 public static void getLogCatDetails() { 
       try { 

        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); 
        } 
} 
catch (Exception e) { 
     e.printStackTrace(); 
     } 
     } 

public static void clearLog() 
    { 
     try 
     { 
     Runtime.getRuntime().exec("logcat -c"); 
     } 
     catch (Exception e) { 
     e.printStackTrace(); 
     } 
    } 

您必须指定android.permission.READ_LOGS许可

0

虽然什么KK写是绝对正确的,但我会建议你使用SharedPreferences的保存所有日志,因为如果用户会看到一些他无法理解的敏感权限,这可能会导致对您的应用程序产生怀疑和差评。

相关问题