Details
Description
This problem is found after switch to the karaf 4.1.x, which using pax-logging-log4j2 insteadof pax-logging-service.
I created a small test case project for reproduce this issue. https://github.com/xldai/test/tree/master/test-paxlogging-camel
The findings from me is that, when PaxLoggingConsumer class [1] work together with pax-logging-service (karaf 4.0.x), it creates new threads to process the incoming PaxLoggingEvent and using MDC to filter the possible duplicated logs from PaxAppenderProxy class [2].
but when PaxLoggingConsumer class work together with pax-logging-log4j2, the multi thread mechanism for processing the PaxLoggingEvent will lead to duplicated/missing logs output to the camel Exchange.
Since the L63 from [3] fixed the possible duplicated logs come from PaxAppenderProxy class, I found that the multi thread mechanism and MDC checking can be removed from PaxLoggingConsumer class, then it works again as expected from my test result.
[1] https://github.com/apache/camel/blob/master/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingConsumer.java#L58
[2] https://github.com/ops4j/org.ops4j.pax.logging/blob/logging-1.9.1/pax-logging-service/src/main/java/org/ops4j/pax/logging/service/internal/PaxAppenderProxy.java#L63
[3] https://github.com/ops4j/org.ops4j.pax.logging/blob/logging-1.9.1/pax-logging-log4j2/src/main/java/org/ops4j/pax/logging/log4j2/internal/PaxAppenderProxy.java#L63
Attachments
Issue Links
- links to