28

要件はこれ...

RHEL-5 サーバーにデプロイされた 3 つの Web アプリケーションがあり、Tomcat 6.0.16 を使用してアプリをデプロイしました。アプリ固有のログ ファイルの tomcat/logs/catalina.out に入っている stdout、stderr を次のように構成したいと考えています。

tomcat/logs/app1.log tomcat/logs/app2.log tomcat/logs/app3.log

log4j を使用していますが、ログの詳細を生成するだけで、tomcat/logs/catalina.out に入ってくるアプリごとの stdout が必要です。

助けていただければ幸いです...

4

1 に答える 1

30

これを試して、

  1. 各アプリケーションは、独自のlog4jを使用する必要があります。これは、各アプリケーションのWEB-INF/libにlog4j.jarを配置することで実現できます。
  2. 各log4jの構成ファイル(デフォルトの場所はWEB-INF / classes)で、ログファイル名を指定します(例:)log4j.appender.AppLog.File=${catalina.home}/logs/app1.log
  3. swallowOutput="true"stdoutになるようにコンテキストごとに追加すると、stderrは独自のログに移動します。

これはTomcat5.5で行いますが、6.0でも機能するはずです。

編集:これがMETA-INF / context.xml、

<?xml version="1.0" encoding="UTF-8"?>
<Context override="true" swallowOutput="true" useNaming="false">
  <WatchedResource>WEB-INF/web.xml</WatchedResource>
  <Manager pathname=""/>
</Context>
于 2009-08-27T02:14:16.117 に答える