读取日志并将其保存为字符串

时间:2011-11-30 13:49:01

标签: java android

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

2 个答案:

答案 0 :(得分: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 权限

答案 1 :(得分:0)

尽管KK编写的内容绝对正确,但我建议您使用SharedPreferences保存所有日志,因为如果用户看到一些他无法理解的敏感权限,则可能导致您的应用程序的怀疑和不良评级。