エラー レポートとして、デバイス ログやアプリケーション ログを電子メール アカウントに送信したいと考えています。そのために、ビューにボタンを用意しました。どうすればログファイルを取得できますか?
ありがとう
エラー レポートとして、デバイス ログやアプリケーション ログを電子メール アカウントに送信したいと考えています。そのために、ビューにボタンを用意しました。どうすればログファイルを取得できますか?
ありがとう
String separator = System.getProperty("line.separator");
try {
Process process = Runtime.getRuntime().exec("logcat -d");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line;
while ((line = bufferedReader.readLine()) != null) {
log.append(line);
log.append(separator);
}
} catch (Exception e) {
}
これは、Ramesh (感謝) から改作された、わずかに改良されたバージョンです。主な違いは、独自のバッファリングを行うことです。これは速い。
private void extractLogToFile()
{
// Make file name.
String fullName = ...;
// Extract to file.
File file = new File (fullName);
InputStreamReader reader = null;
FileWriter writer = null;
try
{
// get input stream
String cmd = "logcat -d -v time";
Process process = Runtime.getRuntime().exec(cmd);
reader = new InputStreamReader (process.getInputStream());
// write output stream
writer = new FileWriter (file);
char[] buffer = new char[10000];
do
{
int n = reader.read (buffer, 0, buffer.length);
if (n == -1)
break;
writer.write (buffer, 0, n);
} while (true);
reader.close();
writer.close();
}
catch (IOException e)
{
if (writer != null)
try {
writer.close();
} catch (IOException e1) {
}
if (reader != null)
try {
reader.close();
} catch (IOException e1) {
}
e.printStackTrace();
return;
}
}