The following should either be added to the documentation (as something admins should do) or fixed as a bug.
ISSUE: Tomcat 5 does not come with log4j, but appears to be aware of it and attempts to use it for the server if log4j is included in a webapp. As a consequence some of the commons components (like org.apache.catalina.session.ManagerBase) throw a log4j warning about appenders not being found for their logger. SOLUTION: Include commons-logging.jar and log4j-x.x.x.jar in common/lib and put a log4j.properties in common/classes. The following is a minimal sample log4j.properties file that fixes the problem: log4j.logger.org.apache.catalina.session.ManagerBase=INFO, RollFile log4j.rootLogger=INFO, RollFile log4j.appender.RollFile=org.apache.log4j.RollingFileAppender log4j.appender.RollFile.File=logs/tomcat.log log4j.appender.RollFile.MaxFileSize=1000KB log4j.appender.RollFile.MaxBackupIndex=4 log4j.appender.RollFile.layout=org.apache.log4j.PatternLayout log4j.appender.RollFile.layout.ConversionPattern=%d %-5p (%F:%L) - %m%n COMMENT: It would probably be best to include this default setup (or a similar one) with Tomcat, provided the log4j guys aren't antisocial and prohibit it. As an alternative, the "sensitive" commons classes could be made a bit more resilient against "missing" loggers. Or, in the worst case, the above info should be somehow included in the documentation, to make people's life easier... it took me over a month to discover the missing files and locations where they should go, and probably wouldn't have succeeded at all if it wasn't for a comment I saw in an unrelated thread. ISSUE 2: It appears that there is some forgotten debug code in org.apache.commons.dbcp.AbandonedObjectPool that displays to the console. Sample output is below. I think that for consistency this code should use log4j like the other parts of commons, or not output at all. In any case, this is just a suggestion to the developers. BTW developers, dealing with Abandoned objects in the pool is a great feature, thanks!!! AbandonedObjectPool is used ([EMAIL PROTECTED]) LogAbandoned: true RemoveAbandoned: true RemoveAbandonedTimeout: 300 b --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
