I have found and proved that Log4J does have a deadlock situation in it's appender failover logic.
In a nutshell heres whats happening. The entire instance of the logger is syncronized. (Actually the syncronized object is the Category object from which the Logger is derived.) A caller makes a log call Log.xxxx(), in this case the JDBC appender. If the database is down the DB call throws which in turn calls the errorHandler, which in turn calls back into the Logger (deadlock) to swap out the primary and backup appenders. I guess what I'm going to do is to bust out another thread for the sole purpose of handling failover logic. Comments, input? Al Harper --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
