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