0

私は 2 つのアプリケーションを開発し、それらを Websphere Aplication Server で公開しています。

両方のアプリケーションで発生したエラーをイベント ビューアーに書き込む必要があるため、log4j JAR ファイルを Websphere Aplication Server の lib フォルダーに置き、ファイル os が正常に読み込まれます。

また、異なる変数名とソース指定 (「アプリケーション A」と「アプリケーション B」) を使用して、両方のアプリケーションの src ルート パッケージの下に log4j.properties ファイルを作成しました。

実行がキャッチされると、どちらの場合もイベント ビューアに記録されます。

問題は、アプリケーション B でエラーが発生した場合でも、提示されたソース名が同じ「アプリケーション A」であるということです...

誰でも助けることができますか?

ありがとう

4

1 に答える 1

0

「変数名とソース指定が異なるアプリケーション」の意味がわかりません。両方のアプリケーションで異なる名前のロガーを使用し、出力を異なるアペンダーに直接送信するということですか?

それでも、構成に問題が 1 つあります。log4j jar を WAS lib フォルダーに配置すると、両方のアプリケーションに共通のクラス ローダー (この "lib" ディレクトリの場所に応じて、ブートストラップ クラス ローダーまたは拡張クラス ローダー) が読み込まれます。 ) — つまり、log4j は 1 回だけロードされます。log4j が (静的コード セクションで) どのように初期化されるかを考慮すると、これも一度初期化されます。つまり、最大で 1 つの log4j.properties が読み込まれます。

WAS lib ディレクトリから log4j を削除して、すべてのアプリケーションにデプロイしてみてください。

于 2011-09-05T10:32:58.483 に答える