2016-05-09 16 views
0

Javaでは、私のプロセスのstdoutstderrをインターセプトしたいと思います。最終的にコンソール/デフォルトの宛先に行かないようにしたくないのですが、改行ごとにその行を自分のログファイルにコピーする必要があります。私が見ることができる唯一の方法は、something like thisです - これはうまくいくかもしれませんが、私は別の文字セットについて心配しています。最終的に出力を出力するのを抑制するのではなく以前と同じようにしたいので、 、フラッシングのような感じではない(auto-flush = trueでさえ)。Javaインターセプト自身のプロセスstdoutとstderrストリーム

これを簡単にするライブラリがありますか?

答えて

0

ただし、改行ごとに、その行を自分のログファイルにコピーする必要があります(書式設定とHTML化が必要です)。

古典的なUnixユーティリティteeはどうですか?デモ:

  1. tail -f source | tee tee.sink
  2. echo "foo" >> source - あなたの端末にも
  3. cat tee.sinkを "foo" を見るべきではfooが表示されます。

または、私はあなたが欲しいものを誤解しましたか?

+0

私はこれをJavaプロセス内で行う必要があります。 –

関連する問題