2016-03-29 8 views
0

私はSys.errメッセージを印刷しているJavaライブラリを使用しています。このメッセージをログファイルにリダイレクトしたいのですが(ライブラリからのメッセージのみ)。Sys.errをライブラリにリダイレクトする方法は?

これは可能ですか?

(使用ライブラリ:libphonenumberグーグル - https://github.com/googlei18n/libphonenumber)を

+0

[ 'システム:: setErr'](https://docs.oracle.com/javase/8/docs/api:私は強くラースフォーゲルによって、この優れたイントロを読んでお勧めの詳細については

/java/lang/System.html#setErr-java.io.PrintStream-)、すべての呼び出しを 'System.err'にリダイレクトします... – assylias

+1

適切なロギングフレームワークの使用はオプションではありませんか?別の言い方をすれば、ライブラリはLog4Jなどをサポートしていませんか? –

+0

@assylias:それは特に私が望まないものです。 – Spen

答えて

1

Googleのlibphonenumberは標準java.util.loggingベースのロギングを使用しています。 Javaで利用できる一般的なロギングフレームワークの1つです。プロパティー・ファイル・ベースの構成を使用してロギングの動作を構成できます。

handlers=java.util.logging.FileHandler 
com.google.i18n.phonenumbers.level=ALL 
java.util.logging.FileHandler.patter=%h/java%u.log 

は明らかに、多くのがあります:あなたは、このようなロギング動作の動作を設定することができますlogging.propertiesファイルで

-Djava.util.logging.config.file="logging.properties" 

:アプリケーションの起動時に設定ファイルを表すパラメータを指定することができます上記の例は、あなたの質問ごとに必要最小限です。 http://www.vogella.com/tutorials/Logging/article.htmlを使用でき

関連する問題