Requirement is this ...
We have our 3 web-applications deployed in RHEL-5 server, we deployed apps with tomcat 6.0.16.
We want to configure stdout, stderr, which are coming in tomcat/logs/catalina.out in app specific log file like,
tomcat/logs/app1.log
tomcat/logs/app2.log
tomcat/logs/app3.log
we are using log4j, but it is only generating logging details we need stdout per-app which is coming in tomcat/logs/catalina.out
Any Help Appreciated ...
Try this,
- Each application must use its own log4j. You can achieve this by placing log4j.jar in WEB-INF/lib of each application.
- In each log4j's configuration file (default location is WEB-INF/classes), specify the log file name, e.g.
log4j.appender.AppLog.File=${catalina.home}/logs/app1.log
.
- Add
swallowOutput="true"
for each context so stdout, stderr will go to your own log.
We do this on Tomcat 5.5 but I think it should work on 6.0 also.
EDIT: Here is our 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>