In my
servlet init() code, I created some Logger objects and registered them with a LogManager using:
(class variable)
private final static LogManager logMgr = LogManager.getLogManager();
(in init() method)
Logger classLogger = Logger.getLogger("loggername"); logMgr.addLogger(classLogger);
Then my servlet calls an action class which has as a class variable:
private static Logger logger = LogManager.getLogManager().getLogger("loggername");
and my action class then logs messages using
logger.info("Message to log...");
I deployed this code on a single server and it worked fine. Then I deployed it on a clustered environment and whenever I tried to retrieve the Logger from the LogManager, it was null, and gave a null pointer exception.
Why in a clustered environment do I not have access to the same LogManager object as my servlet? Is this a classLoader problem? How would I be able to register my Loggers with a LogManager that can be accessed from any module - web or
ejb?
Thanks Brian