Hello The exact explanation is:
org.apache.logging.log4j.core.LoggerContext#getContext() method explicitly casts org.apache.logging.log4j.LogManager#getContext() result (which by declaration is interface org.apache.logging.log4j.spi.LoggerContext) to org.apache.logging.log4j.core.LoggerContext class. While in pax-logging, an implementation of org.apache.logging.log4j.spi.LoggerContext interface is org.ops4j.pax.logging.log4jv2.Log4jv2LoggerContext class which does NOT extend org.apache.logging.log4j.core.LoggerContext. Comment on log4j2 class on org.apache.logging.log4j.LogManager#getContext() method says: WARNING - The LoggerContext returned by this method may not be the > LoggerContext used to create a Logger for the calling class. > So unfortunately Elastic search uses a "convenient static method" on org.apache.logging.log4j.core.LoggerContext, while it should set the level using other methods than org.apache.logging.log4j.core.config.Configurator... regards Grzegorz Grzybek 2017-09-20 8:18 GMT+02:00 Asma Zinneera Jabir <[email protected]>: > I am facing the same issue when trying to get the context using > LoggerContext ctx = (LoggerContext) LogManager.getContext(). > Is there a way to get the context from spi.LoggerContext in pax-logging?? > > On Wednesday, August 9, 2017 at 9:00:12 PM UTC+5:30, Jérémie Brébec wrote: >> >> Hello, >> >> I am using pax-logging 1.10.1 through Karaf 4.1.2 ; >> >> I am trying to integrate the log generated by my ElasticSearch bundle to >> the pax-logging implementation. However, this didn't work because a >> ClassCastException. I haven't see any "duplicate classloader issues", and >> when I check the code, the ClassCastException doesn't feel to be >> osgi-related. Is it a known issue or I am missing something ? >> >> Regards, >> Jérémie >> >> java.lang.ClassCastException: >> org.ops4j.pax.logging.log4jv2.Log4jv2LoggerContext >> cannot be cast to org.apache.logging.log4j.core.LoggerContext >> at >> org.apache.logging.log4j.core.LoggerContext.getContext(LoggerContext.java:190) >> [6:org.ops4j.pax.logging.pax-logging-log4j2:1.10.1] >> at >> org.apache.logging.log4j.core.config.Configurator.setLevel(Configurator.java:291) >> [6:org.ops4j.pax.logging.pax-logging-log4j2:1.10.1] >> at >> org.elasticsearch.common.logging.Loggers.setLevel(Loggers.java:149) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at >> org.elasticsearch.common.logging.Loggers.setLevel(Loggers.java:144) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at >> org.elasticsearch.index.SearchSlowLog.setLevel(SearchSlowLog.java:111) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at >> org.elasticsearch.index.SearchSlowLog.<init>(SearchSlowLog.java:106) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at org.elasticsearch.index.IndexModule.<init>(IndexModule.java:127) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at >> org.elasticsearch.indices.IndicesService.createIndexService(IndicesService.java:441) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at >> org.elasticsearch.indices.IndicesService.createIndex(IndicesService.java:414) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at org.elasticsearch.cluster.metadata.MetaDataIndexTemplateServ >> ice.validateAndAddTemplate(MetaDataIndexTemplateService.java:216) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at org.elasticsearch.cluster.metadata.MetaDataIndexTemplateServ >> ice.access$200(MetaDataIndexTemplateService.java:63) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at org.elasticsearch.cluster.metadata.MetaDataIndexTemplateServ >> ice$2.execute(MetaDataIndexTemplateService.java:172) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at >> org.elasticsearch.cluster.ClusterStateUpdateTask.execute(ClusterStateUpdateTask.java:45) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at >> org.elasticsearch.cluster.service.ClusterService.executeTasks(ClusterService.java:634) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at org.elasticsearch.cluster.service.ClusterService.calculateTa >> skOutputs(ClusterService.java:612) [88:features.boss.elasticsearc >> h.bundle:5.5.0] >> at >> org.elasticsearch.cluster.service.ClusterService.runTasks(ClusterService.java:571) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at org.elasticsearch.cluster.service.ClusterService$ClusterServ >> iceTaskBatcher.run(ClusterService.java:263) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at >> org.elasticsearch.cluster.service.TaskBatcher.runIfNotProcessed(TaskBatcher.java:150) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at >> org.elasticsearch.cluster.service.TaskBatcher$BatchedTask.run(TaskBatcher.java:188) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at org.elasticsearch.common.util.concurrent.ThreadContext$Conte >> xtPreservingRunnable.run(ThreadContext.java:569) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at org.elasticsearch.common.util.concurrent.PrioritizedEsThread >> PoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(Prio >> ritizedEsThreadPoolExecutor.java:247) [88:features.boss.elasticsearc >> h.bundle:5.5.0] >> at org.elasticsearch.common.util.concurrent.PrioritizedEsThread >> PoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:210) >> [88:features.boss.elasticsearch.bundle:5.5.0] >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) >> [?:?] >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) >> [?:?] >> > -- > -- > ------------------ > OPS4J - http://www.ops4j.org - [email protected] > > --- > You received this message because you are subscribed to the Google Groups > "OPS4J" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- -- ------------------ OPS4J - http://www.ops4j.org - [email protected] --- You received this message because you are subscribed to the Google Groups "OPS4J" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
