私はすでにthis articleと読みました。しかし、それは私のアプリケーションではないことを示すテキストのほとんどのようだ。メッセージをフィルタリングして、アプリケーションのログのみを表示させるにはどうすればよいですか。言い換えれば、私はAndroidスタジオ(私のアプリからのエラーログを表示し、タイムスタンプを表示するなど)のように表示したい:logcatをプログラムでアプリケーションで読む
"logcat -d -v time"のようなものを試した動作しません。何か案が?ありがとう。
私はすでにthis articleと読みました。しかし、それは私のアプリケーションではないことを示すテキストのほとんどのようだ。メッセージをフィルタリングして、アプリケーションのログのみを表示させるにはどうすればよいですか。言い換えれば、私はAndroidスタジオ(私のアプリからのエラーログを表示し、タイムスタンプを表示するなど)のように表示したい:logcatをプログラムでアプリケーションで読む
"logcat -d -v time"のようなものを試した動作しません。何か案が?ありがとう。
のみ、アプリケーションのログを取得するには、次のコードを試してみてください。
public final class MyAppLogReader {
private static final String TAG = MyAppLogReader.class.getCanonicalName();
private static final String processId = Integer.toString(android.os.Process
.myPid());
public static StringBuilder getLog() {
StringBuilder builder = new StringBuilder();
try {
String[] command = new String[] { "logcat", "-d", "-v", "threadtime" };
Process process = Runtime.getRuntime().exec(command);
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line;
while ((line = bufferedReader.readLine()) != null) {
if (line.contains(processId)) {
builder.append(line);
//Code here
}
}
} catch (IOException ex) {
Log.e(TAG, "getLog failed", ex);
}
return builder;
}
}
編集
あなたは常に自分自身logcatからのラインを解析し、あなたがしたくない任意のタグを無視することができますAndroidManifest
ファイル
<uses-permission android:name="android.permission.READ_LOGS" />
に許可の下に追加します。 –