Kirk Lund created GEODE-7050:
--------------------------------

             Summary: Log4jAgent should avoid casting non-log4j loggers
                 Key: GEODE-7050
                 URL: https://issues.apache.org/jira/browse/GEODE-7050
             Project: Geode
          Issue Type: Bug
          Components: logging
            Reporter: Kirk Lund


Users should be able to use SLF4J API with Geode even when log4j-core is in the 
class path and the Geode log4j appenders are being used.

Log4jAgent assumes that all Loggers are Log4J loggers. This can result in a 
ClassCastException when encountering an instance of SLF4JLogger.
{noformat}
Caused by: java.lang.ClassCastException: org.apache.logging.slf4j.SLF4JLogger 
cannot be cast to org.apache.logging.log4j.core.Logger
        at 
org.apache.geode.internal.logging.log4j.Log4jAgent.getRootLoggerContext(Log4jAgent.java:91)
        at 
org.apache.geode.internal.logging.log4j.Log4jAgent.getConfiguration(Log4jAgent.java:95)
        at 
org.apache.geode.internal.logging.log4j.Log4jAgent.isUsingGemFireDefaultConfig(Log4jAgent.java:80)
        at 
org.apache.geode.internal.logging.log4j.Log4jAgent.shouldUpdateLogLevels(Log4jAgent.java:129)
        at 
org.apache.geode.internal.logging.log4j.Log4jAgent.configure(Log4jAgent.java:107)
        at 
org.apache.geode.internal.logging.Configuration.configChanged(Configuration.java:152)
        at 
org.apache.geode.internal.logging.Configuration.initialize(Configuration.java:141)
        at 
org.apache.geode.internal.logging.LoggingSession.createSession(LoggingSession.java:65)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.initialize(InternalDistributedSystem.java:762)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.newInstance(InternalDistributedSystem.java:446)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.newInstance(InternalDistributedSystem.java:432)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.connectInternal(InternalDistributedSystem.java:257)
        at 
org.apache.geode.distributed.DistributedSystem.connect(DistributedSystem.java:164)
        at 
org.apache.geode.cache.client.ClientCacheFactory.basicCreate(ClientCacheFactory.java:243)
        at 
org.apache.geode.cache.client.ClientCacheFactory.create(ClientCacheFactory.java:214)
        at 
org.springframework.data.gemfire.client.ClientCacheFactoryBean.createCache(ClientCacheFactoryBean.java:391)
        at 
org.springframework.data.gemfire.CacheFactoryBean.resolveCache(CacheFactoryBean.java:325)
        at 
org.springframework.data.gemfire.CacheFactoryBean.init(CacheFactoryBean.java:269)
        ... 107 more
{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to