tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Schildbach <andr...@schildbach.de>
Subject Re: per-webapp logging problem with Tomcat 5.5
Date Mon, 27 Feb 2006 12:13:58 GMT
Boris Unckel wrote:

> You want to have a _one_ central place for your log configuration _and_ the
> correct logging just for that application - currently impossible.

I would not necessarely say that logging has to be configured in one 
central place/file, but I think putting logging config _into_ the 
applications is a bad idea.

Let me elaborate why:

The idea of a webapp is that you can deploy it on any spec-conforming 
server without changes (to the webapp). Thus, good webapps need to stay 
independant of specific implementations.

As "Juli" is very Tomcat-specific, placing logging.properties into the 
webapp would create a dependancy to Tomcat 5.5 (for example ruling out 
Tomcat 5.0 as a possible container for the same Servlet 2.4 app).

Furthermore, webapps should not (must not?) refer to files outside of 
their webapp directory, so refering to ${catalina.base}/logs is really 
bad practise (actually I'm surprised that it works). How can a webapp 
know that their container has got that environment variable, and I can 
it know that it points to a directory which contains a directory called 
"logs"?

logging.properties also contains the log levels, something that is 
usually container instance specific. For example, production 
environments have different logging requirements than integration or 
development environments, even if they use the same container 
implementation. Would logging.properties be inside the application, 
you'd have to customize log levels for each deployment. I don't know if 
the widely used Eclipse/Web Tools Project combinations even allows for 
automatic customizations during deployment. Surely you could write 
complicated Ant scripts for deployment, but that's cumbersome and 
old-school.

Thanks for your explanation about why real per-webapp logging is 
currently not possible with Tomcat 5.5 and Juli/java.util.logging. Is it 
the same with Log4J?

Personally I feel this is a big regression from Tomcat 5.0/4.1: With the 
swallowOutput option, it was possible to do per-webapp logging _and_ 
"logging configuration outside of webapp" quite easily. I know 
swallowOutput was just a hack for lazy System.out.println() coders, but 
it had the nice side-effect of solving the problem very elegant and 
efficiently. And there was nothing wrong with the option, just with the 
habit of the lazy coders.

As far as I know, swallowOutput is not there any more. Could it be 
re-activated? Is there anything else planned to support per-webapp logging?

Regards,

Andreas


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message