Android записывает все сообщения logcat в файл - PullRequest
0 голосов
/ 19 декабря 2011

У меня есть функция, которая записывает журналы исключений в файл на SD-карте. Но проблема в том, что она записывает только первую строку без какой-либо информации о том, в какую строку выдается это исключение и т. Д. Есть идеи, как это сделать? получить весь журнал?

Сохранить в файл:

    public static void writeLogs(String text){
    File logFile = new File("sdcard/Documents/Public/Log/crash_logs.file");
       if (!logFile.exists())
       {
          try
          {
             logFile.createNewFile();
          } 
          catch (IOException e)
          {
             // TODO Auto-generated catch block
             e.printStackTrace();
          }
       }
       try
       {
          //BufferedWriter for performance, true to set append to file flag
          BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true)); 
          buf.append("---START---");
          buf.newLine();
          buf.append(text);
          buf.newLine();
          buf.append("---END---");
          buf.newLine();
          buf.close();
       }
       catch (IOException e)
       {
          // TODO Auto-generated catch block
          e.printStackTrace();
       }
}

Invoke:

            catch (Exception e) {
                e.printStackTrace();
                rpc.writeLogs(e.toString());
            }

Есть идеи?

Ответы [ 3 ]

1 голос
/ 19 декабря 2011

e.toString не предоставляет стек, попробуйте printStackTrace (модуль записи или поток)

0 голосов
/ 19 декабря 2011

У меня тоже была эта проблема. В итоге я разделил e.toString () на \ n, а затем записал каждую строку в свой журнал отдельно.

0 голосов
/ 19 декабря 2011

используйте println () вместо append.

PrintWriter p = new PrintWriter(new FileWriter("your text file.txt"));
p.println(text);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...