0
私はアンドロイドアプリケーションログをテキストファイルに保存し、例外やフィードバックを処理するために電子メールで送信します。私のアプリケーションでは次のコードを実装しましたが、ログファイルには何も含まれていませんし、コードを実行した後は空です。アプリケーションログをテキストファイルに保存できません
try {
Process process = Runtime.getRuntime().exec("logcat -d");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
StringBuilder logString = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
logString.append(line);
}
File logFile = new File("sdcard/log.txt");
if (!logFile.exists()) {
try {
logFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true));
buf.append(logString);
buf.newLine();
buf.close();
} catch (IOException e) {
e.printStackTrace();
}
私は自分のアプリケーション全体でlogcatするログメッセージを書き込むためLog.i
、Log.e
とLog.w
を使用。
誰かが私の問題に取り組んでくれたら、私は感謝します。
のこのメソッドを使用しますが、後であなたの答えをチェックし、他の人があまりにも – Shubhank
を理解できるように、あまりにも変化を説明しようと、これを試してみてくださいなぜあなたはappendログに 'Process'を使用するのか分かりません。実際には 'BufferedWriter'を使用して既存のWriterをラップし、出力をバッファリングします。プロセスや他のメソッドを使う必要はありません。単にファイルを取得し、以前のログにあなたのログを書き込む(追加する)。 –
@AbhishekPatel素早くお返事ありがとうございます。私はプロセスを使用してシステムログにアクセスしました。あなたの答えによると、私は処理された例外やクラッシュさえ追跡できません。追加されたログのみ監視できます。 – mohammad