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.

Reply via email to