2009-08-26 19 views
26

要件はこれです...アプリケーションごとにtomcat 6のlogs/catalina.outを設定する方法。

RHEL-5サーバーに3つのWebアプリケーションが配備されており、tomcat 6.0でアプリケーションを配備しました。 16。 我々は

tomcatに/ログ/ app1.log tomcatに/ログは/ app2.log tomcatに/ログ、アプリケーション固有のログファイルなどにtomcatに/ログ/ catalina.outに来ている、標準エラー出力、標準出力を設定したいです我々はlog4jのを使用しているが、それは唯一の

答えて

29
...我々は当たりのアプリtomcatに/ログ/ catalina.out

に任意のヘルプおくるに来ている標準出力必要なログの詳細を生成している

を/app3.log

お試しください。

  1. 各アプリケーションは、独自のlog4jを使用する必要があります。 log4j.jarを各アプリケーションのWEB-INF/libに置くことで、これを実現できます。
  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> 
+0

感謝の友人...私はswallowOutput = "true" を配置する必要があります場所を正確に知りたい、それ/ tomcatに/ confにあります/Catalina/www.app.com/context.xmlとタグを入れておく必要があります。swallowOutput = "true"? – Garudadwajan

+1

答えを編集し、context.xmlを追加しました。これは、コンテナの構成に依存しないため、上記の場所よりも優れています。 –

+0

データベース接続よりも指定されたcontext.xmlを置いていれば問題はありますか? context.xmlからDB接続を取得していません。 – Garudadwajan

関連する問題