如何为每个应用程序配置tomcat 6的logs/catalina.out.(为sys.out,sys.err配置特定于Web应用程序的日志文件)

Gar*_*jan 27 logging tomcat log4j stdout

要求是......

我们在RHEL-5服务器中部署了3个Web应用程序,我们使用tomcat 6.0.16部署了应用程序.我们想配置stdout,stderr,它们在应用程序特定的日志文件中进入tomcat/logs/catalina.out,如,

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

我们正在使用log4j,但它只生成我们需要stdout per-app的日志记录详细信息,它将在tomcat/logs/catalina.out中出现

任何帮助赞赏......

ZZ *_*der 30

试试这个,

  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>
Run Code Online (Sandbox Code Playgroud)