私はSD CARDのファイルに例外ログを書き込む機能を持っていますが、問題はその行の最初の行だけを書くことです。例外などどのように全体のログを取得するためのアイデア?Androidでlogcatメッセージ全体をファイルに書き込む
をファイルに保存:
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();
}
}
起動:
catch (Exception e) {
e.printStackTrace();
rpc.writeLogs(e.toString());
}
任意のアイデア?
[BufferedWriter](http://developer.android.com/reference/java/io/BufferedWriter.html)には 'println()'メソッドはありません。それ以外に理由が*なぜ*これがよりよいかを提供することは素晴らしいことでしょう。 –
申し訳ありませんが、以前はBufferedWriterについては読んでいません。私は以前のJava SEプロジェクトでPrintWriterを使用しています。更新された回答をご覧ください。 – josephus
また、e.toStringはe.printStackTrace()の出力と異なる場合があります。 e.toString()の値をチェックしましたか? – josephus