1

私がやりたいことは次のとおりです。-異なる展開「戦争」ごとにlog4j.propertiesを分離できること-使用するログプロパティのシステムパラメーターを使用して、antビルドまたはweb.xmlで定義できること。

私のプロジェクトのセットアップは、Jersey を REST API として使用し、Spring を使用しない Jetty です。

私はいくつかの調査を行ったところ、webl.xml に設定する他の Spring ソリューションがあることが判明しましたが、Spring を使用していません。Jetty が slf4j を使用していることも知っていますが、slf4j に切り替えた場合、これをより簡単に行うことができますか?

web.xml または ant ビルドで log4j 構成をカスタマイズして定義できるようにするには、これを解決する最善の方法は何でしょうか?

どうもありがとう!

編集: init-param を定義して別のサーブレットを開始できると考えました。次に、別個の HttpServlet 実装で PropertyConfigurator.configure([log4j 構成の名前]); を設定します。サーブレットをもう 1 つ追加することは、これを処理する理想的な方法ですか?

4

1 に答える 1

0

これを処理するためのさまざまな方法がたくさんあります。

あなたの使命はサーブレットごと、またはWebアプリケーションごとに異なるロギングではないので...サーブレットまたはWebアプリケーションの場所ではなく、サーバーレベルで問題を解決します。私にとっては、サーブレットがデプロイされた後のすべての情報だけでなく、このすべての情報を正しい場所に記録する必要があります。この目的のために、私は桟橋でslf4j-apiサポートを有効にしてから、物事のslf4j側からそれを処理するための最良の方法を調べます。これにより、slf4j-simple、log4j、logbackなど、必要なログフレームワークを使用できます。

あるいは、ロギングのサーバー側を本当に避けたい場合は、resourcesディレクトリのlog4j.propertiesファイルを使用して、コマンドラインでjettyを起動すると、別のresourcesディレクトリを提供できると思います。必要なオプションを見つけて、次の方法で起動します。

java -jar start.jar OPTIONS = Server、jmx、jsp、resources-[dev、qa、prod]

乾杯

于 2012-10-31T00:43:43.210 に答える