3

Glassfishサーバーでアプリケーションのログを設定しようとしています。SLF4jを使用してすべてを集約し、Logbackバインディングを使用してファイルを書き込みます。log4j-over-slf4jまた、プロジェクトjul-to-slf4jjcl-over-slf4jライブラリを追加しました。もちろんslf4j-api、Logbackのものもあります。すべてのライブラリはプロジェクトWEB-INF/libとにありglassfish/lib/endorsedます。

つまり、アイデアは次のとおりです。すべてをSLF4jにリダイレクトしてから、Logbackでログに記録します。

コードには、テスト用に次の部分があります。

jclLog.debug("Login JCL: Debug level");
jclLog.error("Login JCL: Error level");
log4jLog.debug("Login Log4j: Debug level");
log4jLog.error("Login Log4j: Error level");
slfLog.debug("Login SLF4j: Debug level");
slfLog.error("Login SLF4j: Error level");

実行後、ログバック構成のログファイルにLog4jおよびSLF4jのログエントリがあります。しかし、JCLエントリーはありません。代わりにserver.logファイルにアクセスします。

問題は、なぜJCLエントリがGlassfishロガーでキャッチされるのか、そしてそれをどのように防ぐことができるのかということです。

4

1 に答える 1

1

(まだ)これを行うことはできません。関連するバグレポートについては、http://java.net/jira/browse/GLASSFISH-6666を参照してください。

于 2012-05-31T22:52:16.270 に答える