7

logcat の出力を InputStream などにリダイレクトする方法はありますか? Cでstderrをリダイレクトする方法について考えています。アプリの起動時にリダイレクトされ、発生したすべてがファイルにダンプされるようにしたいと考えています。

4

5 に答える 5

7

デバッグ用にデバイスを接続できる場合は、コマンド ラインからこれを実行できます

$ adb logcat > textfile.txt
于 2012-10-22T07:51:04.237 に答える
3

私が見つけた最も簡単な方法は、を使用することSystem.setErrです。エラー出力をファイルに簡単にリダイレクトできます。

例:

System.setErr(new PrintStream(new File("<file_path>"))
于 2013-06-06T07:44:23.923 に答える
1

LogCat 出力の唯一のリダイレクトの可能性は documentend herehereです。

アプリ自体で LogCat 出力を再利用することはできません。ただし、要求どおりにファイルにエクスポートできます。

于 2012-10-22T07:36:36.877 に答える
0

アプリからのみlogcatをフィルタリングするには、これを試してください:

        int pid = android.os.Process.myPid();
        File outputFile = new File(Environment.getExternalStorageDirectory() + "/logcat.txt");
        Log.d("zzz","outputFile: " + outputFile);
        try {
            String command = "logcat | grep " + pid + " > " + outputFile.getAbsolutePath();
            Log.d("zzz","command: " + command);
            Process p =  Runtime.getRuntime().exec("su");
            OutputStream os = p.getOutputStream();
            os.write((command + "\n").getBytes("ASCII"));
        } catch (IOException e) {

        }
于 2014-11-17T13:36:36.587 に答える