システムログ(ターミナル)のフル出力を得る

私は、あなたがMacintosh/Ubuntu/Windowsコマンドプロンプトのターミナルのようなコンソールコマンドを入力してログに出力するコンソールJavaアプリケーションを作っています。

私はシステム/コンソールコマンドを実行すると、そのコマンドからどのように結果/ログを取得するのだろうかと疑問に思っていましたか?

注:私はリテラルコード+説明をしてください。

ベストアンサー

これを行うにはいくつかの方法がありますが、最も簡単な方法はこの例をご覧ください。

Process child = Runtime.getRuntime().exec(command);
InputStream in = child.getInputStream();

内部コマンドを2つに分けたい場合は、 Commons IO TeeOutputStream を参照してください。

上記の手法を組み合わせて、内部コマンドか外部コマンドかを問わず、すべての出力をコンソールと「シャドウ」ログファイルの両方に得ることができます。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です