web-dev-qa-db-ja.com

アプリごとにTomcat 6のlogs / catalina.outを構成する方法。 (sys.out、sys.errのWebアプリ固有のログファイルを構成します)

要件はこれです...

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にあるアプリごとの標準出力が必要なログの詳細のみを生成しています

感謝の気持ち...

27
Garudadwajan

これを試して、

  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は独自のログに移動します。

これはTomcat 5.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>
30
ZZ Coder