Log4J/Tomcat で同時に 2 つの異なるレベルのロギングを使用することは可能ですか? 私の状況は次のとおりです。同じ Tomcat サーバー上でいくつかの Web アプリケーションが動作しています。これらのアプリケーションの一部には、独自の log4j プロパティ ファイル (レガシー) があります。
私が追加したいのは、これらすべてのアプリケーションで動作する JDBCAppender を備えた新しいロガーです (これらは一緒に使用することを意図しているため、選択したデータベースにログを記録させることは非常に便利です)。これを希望どおりに行うために、プロパティ ファイルのエントリを作成しました (構文上の目的で、これらのローカル プロパティ ファイルの 1 つでテストしました)。
この新しい logger/JDCBAppender をサーバー レベルの log4j.properties ファイルにドロップして、Web アプリケーションにアクセスさせることはできますか? たとえば、ロガーを「com.xxx.yyy」と定義すると、「com.xxx.yyy」パッケージにクラスを持つ Web アプリケーションで、次のような呼び出しでロガーを取得します。
private static Logger logger = Logger.getLogger(MyClass.class);
完全な宣言が com.xxx.yyy.MyClass であると仮定します。
log4j.properties ファイルを$CATALINA_HOME/lib
ディレクトリにドロップし、必要な jar ファイルを同じディレクトリに配置しようとしましたが (以下のコメントで指示されているように)、サーバーを起動しても、そのファイルが取得されないようです。 、それは私のwebappからのものを拾いますが。log4j がそれを取得するには、プロパティ ファイルがクラスパス上にある必要があることはわかっていますが、複数の log4j.properties ファイルがある場合、同様のクラス パス スタイルの問題が発生する可能性はありますか?
更新: 試したことの説明を更新しました。