1

すべて、今私は撮影に問題があります - なぜログが正しく印刷されなかったのかという問題。

tomcat/webapps 内には 4 つのプロジェクトがあります。

そのうちの 3 つは tomcat レベルの lib ディレクトリで log4j ライブラリを使用しており、もう 1 つは独自のプロジェクト内に独自の log4j ライブラリを持っています。

それぞれがプロジェクト内の独自の log4j プロパティを読み取っています。

私は、プロジェクトのクラス フォルダー内に独自の log4j を持つプロジェクトの所有者です。

そして今日、私が tomcat レベルの log4j ライブラリを使用しておらず、どのライブラリを使用すべきかシステムが混乱し、他の 3 つのプロジェクトがログを出力できなかったため、シニア プログラマーが私を非難しました。

これは本当ですか?

はいの場合、なぜですか? log4j が自分のプロパティを読み取って、プロジェクト情報を正しく出力するようにします。

この質問に答えてくれた人に前もって感謝します。

4

1 に答える 1

1

デフォルトの tomcat 7 インストールでは、log4j ライブラリは提供されません。したがって、プロジェクトにこのライブラリが必要な場合は、これを独自の webapp に含めることをお勧めします (IMHO)。特定の tomcat サーバーの設定に依存している場合、別のコンテナーで webapp を変更せずに使用することは困難です。

ちなみに、「Log4jの使用」に関するtomcatドキュメントサイトの声明は次のとおりです。

注: このセクションで説明する手順は、独自のロギングに Apache log4j を使用するように Tomcat を再構成する場合に必要です。独自の Web アプリケーションで log4j を使用するだけの場合、これらの手順は必要ありません。— その場合、log4j.jar と log4j.properties を Web アプリケーションの WEB-INF/lib と WEB-INF/classes に入れるだけです。

簡単に言うと、あなたは正しくやっていると思いますが、他の人は(詳細を知らずに)間違っています。

于 2013-02-08T13:11:33.970 に答える