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]

Reply via email to