2011-02-02 5 views
0

現在、私のアプリケーションでjava.util.loggerを使用しています。その出力はSystem.errに送信されます。私はこれを続けることが必要ですが、私はまた、その出力を別のものに送る必要があります。System.errストリームのコピーとリダイレクト

System.errストリームをコピーして2つの異なるソースに送信できる方法はありますか?

答えて

5

いつもノートの人々が参照しているときjava.util.logger私は少なくともlogbackslf4jのような別のロギングライブラリを調べることを推奨する傾向があると感じています。

このblog postには、あなたが求めているものを容易に適応させる方法が記載されています。要するに、出力を複製するPrintStreamを定義することです。

System.setErr(doubleLoggingPrintStream) 
+0

非常に興味深いです。私はlog4jが以前何度も参照されていることに気付きました。あなたはお互いに一つを提案しますか? – user489041

+0

いいえ、それはすべて好みです。ほとんどの依存関係はすでにそれに基づいているので、私たちはlog4jを使用する傾向があります。 [commons-logging](http://commons.apache.org/logging/)を使用すると、クラスパスでどのライブラリが見つかるかに基づいてアプリケーションがlog4j/slf4jを透過的に切り替えることができます。 –

+0

log4jの著者はログバックを推奨します:http://logback.qos.ch/reasonsToSwitch.html – maaartinus

関連する問題