2016-04-17 3 views
1

Java EE 7アプリケーションからJerseyトレース/ログを動的に有効にする必要があります。私はJerseyライブラリにアクセスできない、私の唯一の依存関係はjavaee-api 7.0です。オンデマンドでJava EEアプリケーションからJerseyログを記録

私はlogging.properties(7月)で試してみましたが、ない成功:

handlers=java.util.logging.ConsoleHandler 
java.util.logging.ConsoleHandler.level=ALL 
java.util.logging.SimpleFormatter.format=%4$-7s [%3$s] %5$s%6$s%n 

#All log level details 
.level=ALL 
org.glassfish.jersey.level=ALL 
org.glassfish.jersey.tracing.level=ALL 
client.Client.level=ALL 

私は性質を持つjava.util.loggingでのコンソールですべてのログを記録するように設定するために管理している場合、私はログを再ロードすることを計画LogManagerを使って動的にプロパティを作成することはできますが、私は上記の最初のステップで固執しています。

それが違いを作る場合は、アプリケーションサーバーがペーシュ・カショーロ4で、実装はジャージー2.

である。ここに私はこのような何かを実装作られた1ユースケースです:1つのベンダー(サードパーティシステムがRESTを使用して接続している場合

は、 )は、私がプロダクションシステムからヘッダーとペイロードを要求/応答するように要求しています。要求に応じてログレベルを上げ、要求された要求と詳細を記録し、ログレベルを通常に戻します。それ以外の場合、私はオプションではないいくつかの監視アプリケーション、または中間のプロキシを使用する必要があります。

+0

なぜLogManagerを主張するのか?いいえの場合は、slf4jとログバックの使用を検討する必要があります。ログバックでファイルリスナーをセットアップするのは本当に簡単です。 – JSONStatham

+0

@JSONStatham私はアプリケーションに依存関係を追加することはできません。アプリケーションのログイン(そしてJerseyでも)は、java.util.loggingライブラリに基づいているので、論理的な点から始まるようです。 – D00de

答えて

1

間違い、私は私のログのプロパティのジャージーログハンドラがありませんでした見つかったファイル:私は、これはファイルIを使用している場合にlogging.properties com.sun.jersey.handlers = java.util.logging.FileHandler

を必要な結果を得る:

handlers=java.util.logging.FileHandler 
java.util.logging.FileHandler.level=ALL 
java.util.logging.SimpleFormatter.format=%4$-7s [%3$s] %5$s%6$s%n 

#All log level details 
.level=ALL 

com.sun.jersey.level=ALL 
com.sun.jersey.handlers=java.util.logging.FileHandler 
java.util.logging.FileHandler.pattern=debugging.log 
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter 
関連する問題