tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Konstantin Kolinko <>
Subject Re: ContainerBase @trunk (Re: r1029527)
Date Tue, 16 Nov 2010 23:57:09 GMT
2010/11/16 Mark Thomas <>:
> On 16/11/2010 15:44, Konstantin Kolinko wrote:
>> I saw the following fragment in ContainerBase.logName():
>> Lines 1277-1278:
>>       } else if (name.startsWith("##")) {
>>          name = "/" + name;
>>         }
>> It was added by
>> Shouldn't it be
>> name = "/" + name.substring(2);
> No. The ## are intended to be part of the logger name. This code just
> adds consistency for the ROOT webapp.
>> Anyway,
>> 1) I am not sure that logging categories should depend on versioning.
>> It would be hard to configure logging across different versions of the webapp.
> The general principle with the parallel deployment is as far as
> possible to treat each version of a web application as a separate web
> application. That means separate loggers.

My question is the following: these context loggers (where
ServletContext.log() goes to) are configured once per Tomcat instance.
AFAIK, they cannot be configured in webapp's

If I deploy several versions of a webapp, can I configure a log file
where all this output from that app goes to (like the default logging
configuration does for manager and host-manager)?

Or I have to list all the version numbers that I am going to use in
the near future?

BTW, if there is a special processing for '##', maybe one can care
around a copy of
org.apache.catalina.util.ContextName ?  Or use getPath() here that
does not have that '##'.

How about using the following as the logger name:


with the last part being optional?  It is separated by a '.', so
logging hierarchy comes to play here.

>> I do not mind though if version will be a subcategory (a suffix
>> separated by a dot).
> I think the names should be consistent with the container names - as
> they are now. Look at how this is handled for a multi-level context.
>> 2) This code is in a loop that iterates over parents of a context. So
>> the name can belong to a host or an engine. (Though unlikely anyone
>> will name them like that, so actually I do not bother about this).
> Agreed.
> Mark

Best regards,
Konstantin Kolinko

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message