I'm using a custom LoggerFactory and not getting the expected behavior. After taking a look at the source, the Hiearchy class's implementation of getLogger(String, LoggerFactory) doesn't account for the LoggerFactory producing logger's with different names. The CategoryKey used to cache is always the name of the string param and not the LoggerName. Is this a bug? I've attached a unit test which illustrate the problem.
Logger getLogger(String name, LoggerFactory factory) { //System.out.println("getInstance("+name+") called."); CategoryKey key = new CategoryKey(name); // Synchronize to prevent write conflicts. Read conflicts (in // getChainedLevel method) are possible only if variable // assignments are non-atomic. Logger logger;
synchronized(ht) { Object o = ht.get(key); if(o == null) { logger = factory.makeNewLoggerInstance(name); ... }
Jon Wilmoth Technical Specialist Starbucks Coffee Company
|
LoggingClassB.java
Description: Binary data
InterfaceLoggerFactory.java
Description: Binary data
InterfaceLoggerFactoryTest.java
Description: Binary data
LoggingClass.java
Description: Binary data
LoggingClassA.java
Description: Binary data
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>