2010/11/16 Mark Thomas <ma...@apache.org>:
> 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
>> http://svn.apache.org/viewvc?view=revision&revision=1029527
>>
>> 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
WEB-INF/classes/logging.properties.

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:

org.apache.catalina.core.ContainerBase.[${engine.getName()}].[${host.getName()}].[${context.getPath()}].[${context.getWebappVersion()]

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: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to