As was commented on the JDC by someone:
--------------------------------------------------
The situation is even worse than that.
There is NO way to remove a named logger via the
LogManager. Once you install a logger, you are screwed
if your webapp is reloaded. Logging effectively makes
servlet reloading impossible.
Assume that all virtual hosts running in a JVM trust
each other (of course this assumption obviates the
need
for webapps/contexts in the first place). But just
suppose
this is the case. Assume you are diligent and come up
with a
naming convention between virtual hosts (say a.com and
b.com will intall loggers into the global name space
only via something like a.com.mylogger &
b.com.mylogger).
Now suppose you change a servlet in b.com and
b.com's webapp gets reloaded. It then tries to use
b.com.mylogger (by retrieving it from the LogManager)
and fails because of ClassCastException
because it gets the stale logger from the previous
classloader.
You see there is NO way to UNINSTALL OR REMOVE ANY
LOGGERS FROM the LOGMANAGER. There is no workaround.
The designer(s) of the logging API are smoking crack.
------------------------------------------------
__________________________________________________
Do you Yahoo!?
Yahoo! News - Today's headlines
http://news.yahoo.com
Received on Tue 17 Sep 2002 04:33:23 -0700
This archive was generated by hypermail 2.1.8 : Thu Sep 28 2006 - 20:17:14 PDT