Tomcat logs its output in a file called catalina.out. Such file contains the output from the server itself and from all the web applications that don't specify an alternative output file.
Different loggers can be used to log web application outputs. The following instructions are for java.util.logging.
All you have to do is create a file called logging.properties in WEB-INF/classes with the following content, where you have replaced APPLICATION_OUTPUT_FILE with your choice of output file name (it would be nice to have in it the name of the application that produced the file):
handlers = org.apache.juli.FileHandler ############################################################ # Handler specific properties. # Describes specific configuration info for Handlers. ############################################################ org.apache.juli.FileHandler.level = FINE org.apache.juli.FileHandler.directory = ${catalina.base}/logs org.apache.juli.FileHandler.prefix = APPLICATION_OUTPUT_FILE.
If you now redeploy your application all the output from your application should be logged in the file you chose. We have configured the tomcat server to redirect standard output and standard error to the application's log file (if exists).
The advantage of using java.util.logging over log4j is that no additional dependencies are introduced.
Use probe to monitor the log file produced by your application going to:
http://_serverName_.slac.stanford.edu:8080/probe/logs/
where serverName is the tomcat server on which the application has been deployed.