2011-08-05 17 views
9

tomcatのインスタンスを5.5.27から6.0.32にアップグレードしたいのですが、 shared/libディレクトリ(私はtomcat 6でこのディレクトリを再作成しました)。tomcat/shared/libのjarsをwebappの設定を使ってログに記録する

ビルドプロセスの一部として作成するjarファイルがあります。そこにいくつかの共通コードがあり、tomcat 5の下ではshared/libの下にあります。このjarファイルのコードからログ・ステートメントを作成すると、その時点でjarを呼び出すWebアプリケーションのログ・ファイルに書き込まれました。私たちのwebappsのそれぞれは、WEB-INF/libディレクトリにlog4j.properitesとlog4j.jarを持ち、log4j/propertiesではなくlog4j.jarも共有/ libに持っていました。

我々はlog4jのを使用して、次のようにログへの参照を取得している:

import org.apache.commons.logging.Log; 
import org.apache.commons.logging.LogFactory;  
public class MyClass { 
    private final static Log CLASS_LOG = LogFactory.getLog(MyClass.class); 
} 

をしかし、私はTomcatの6に私達の瓶、Webアプリケーション、log4.propertiesとlog4j.jarsの正確な同じ構成を移動すると、私たちの一般的なjarからのログ記録はcatalina.logに行くだけです。

かなり読んだことがあります(http://www.mulesoft.com/tomcat-classpathとtomcatのウェブサイトのクラスローダーとロギングドキュメントを含む)。ほとんどの場合、それがtomcat 5のやり方でどのように機能するかは分かりません。 (私はそれを設定していない、それは私が今までは '今働いている'ことを継承したものだ)。

誰もが共有ライブラリからログをWebアプリケーションのログファイルに取得しようとしているような経験はありますか?私は、各WebアプリケーションのWEB-INF/libディレクトリに共有jarファイルを置くとこれをソートすると思っていますが、同じことをたくさんコピーしてしまうことになります。

+2

個々のWebアプリケーションで共有されたjarファイルをパッケージ化します - 数メガのRAMを節約することは、クラスを読み込む頭痛に値するものではありません。さらに、遅かれ早かれあなたのアプリケーションに依存性の異なるバージョンが必要になることはかなりありそうです。 – Dmitri

+0

@Dmitri +1私はそれを解決策と考えているが、なぜそれが単なるコメントであり、答えとして提供されていないのか分からない。 – Gressie

答えて

2

tomcat6/7のtomcat/conf/catalina.propertiesを確認してください。共有パスとサーバーパスは廃止されました。共通パスのみが明示的に設定されています(たとえば、tomcat6/libは共通です)。あなたは共有を再び有効にすることができ、私の推測では、tomcat 5.xと同じような経験を得ることができます。

しかし、あなたはWEB-INF/libにlogging.propertiesを入れていると言っています。そうは思いません。jarファイルしか含まれていないはずです。 WEB-INF/classes/

また、この時点では、commons-loggingの使用を中止してください。代わりに、Tomcatの問題が少ないので、slf4jにコードしてください。また、log4jの代わりにlogbackを使用すると、アダプタを使用する必要もなくなります(例えば、slf4j呼び出しは実際に直接ログバック呼び出しです)。別の設定ファイルを使用します(ただし、オンラインのlog4j.propertyコンバーターがあります)。

0

tomcatのクラスローダーがどのように設定されているのかよくわかりません。 Websphereアプリケーションサーバーでは、同じ問題があり、クラスローダーを再構成して「親の最後」をロードしなければなりませんでした。

これは、構成ファイルとライブラリをアプリケーションフォルダ内で最初に検索し、必要なリソースが見つからない場合にのみ、Webサーバーの構成を読み込むことを意味します。

おそらく、ケースとtomcat 5.xがそのように構成されていた可能性があります。

関連する問題