Uploaded image for project: 'JBoss Logging'
  1. JBoss Logging
  2. JBLOGGING-161

MDC map entries not propagated to Log4j2 Thread Context map

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • 3.4.3.Final
    • jboss-logging-log4j
    • None
    • Hide

      I set up 2 GitHub projects to reproduce this issue:
      https://github.com/cquoss/log4j2-log-msg-producer
      This small project simply logs using log4j2 api.
      https://github.com/cquoss/log4j2-jboss-logmanager-mdc-bug

      This second project makes use of the first one to show the bug.

      If you run the one test included here you see the following log output in target/test.log:

      2022-01-25 09:28:10,952 [] [main] TRACE de.quoss.bug.jboss.logmananger.log4j2.Main run() start
      2022-01-25 09:28:11,019 [jboss-only] [main] TRACE de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Trace message
      2022-01-25 09:28:11,019 [jboss-only] [main] DEBUG de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Debug message
      2022-01-25 09:28:11,019 [jboss-only] [main] INFO de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Info message
      2022-01-25 09:28:11,020 [jboss-only] [main] WARN de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Warn message
      2022-01-25 09:28:11,020 [jboss-only] [main] ERROR de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Error message
      2022-01-25 09:28:11,022 [jboss-only] [main] FATAL de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Fatal message
      2022-01-25 09:28:11,124 [] [main] INFO de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Info message
      2022-01-25 09:28:11,144 [] [main] WARN de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Warn message
      2022-01-25 09:28:11,145 [] [main] ERROR de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Error message
      2022-01-25 09:28:11,145 [] [main] FATAL de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Fatal message
      2022-01-25 09:28:11,145 [jboss-and-log4j2] [main] TRACE de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Trace message
      2022-01-25 09:28:11,145 [jboss-and-log4j2] [main] DEBUG de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Debug message
      2022-01-25 09:28:11,146 [jboss-and-log4j2] [main] INFO de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Info message
      2022-01-25 09:28:11,146 [jboss-and-log4j2] [main] WARN de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Warn message
      2022-01-25 09:28:11,146 [jboss-and-log4j2] [main] ERROR de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Error message
      2022-01-25 09:28:11,146 [jboss-and-log4j2] [main] FATAL de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Fatal message
      2022-01-25 09:28:11,146 [jboss-and-log4j2] [main] INFO de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Info message
      2022-01-25 09:28:11,147 [jboss-and-log4j2] [main] WARN de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Warn message
      2022-01-25 09:28:11,147 [jboss-and-log4j2] [main] ERROR de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Error message
      2022-01-25 09:28:11,147 [jboss-and-log4j2] [main] FATAL de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Fatal message
      2022-01-25 09:28:11,147 [jboss-and-log4j2] [main] TRACE de.quoss.bug.jboss.logmananger.log4j2.Main run() end

      As you can see, the MDC qualifier provided is only displayed in the log messages when explicitly put into the thread context.

      Show
      I set up 2 GitHub projects to reproduce this issue: https://github.com/cquoss/log4j2-log-msg-producer This small project simply logs using log4j2 api. https://github.com/cquoss/log4j2-jboss-logmanager-mdc-bug This second project makes use of the first one to show the bug. If you run the one test included here you see the following log output in target/test.log: 2022-01-25 09:28:10,952 [] [main] TRACE de.quoss.bug.jboss.logmananger.log4j2.Main run() start 2022-01-25 09:28:11,019 [jboss-only] [main] TRACE de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Trace message 2022-01-25 09:28:11,019 [jboss-only] [main] DEBUG de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Debug message 2022-01-25 09:28:11,019 [jboss-only] [main] INFO de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Info message 2022-01-25 09:28:11,020 [jboss-only] [main] WARN de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Warn message 2022-01-25 09:28:11,020 [jboss-only] [main] ERROR de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Error message 2022-01-25 09:28:11,022 [jboss-only] [main] FATAL de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Fatal message 2022-01-25 09:28:11,124 [] [main] INFO de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Info message 2022-01-25 09:28:11,144 [] [main] WARN de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Warn message 2022-01-25 09:28:11,145 [] [main] ERROR de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Error message 2022-01-25 09:28:11,145 [] [main] FATAL de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Fatal message 2022-01-25 09:28:11,145 [jboss-and-log4j2] [main] TRACE de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Trace message 2022-01-25 09:28:11,145 [jboss-and-log4j2] [main] DEBUG de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Debug message 2022-01-25 09:28:11,146 [jboss-and-log4j2] [main] INFO de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Info message 2022-01-25 09:28:11,146 [jboss-and-log4j2] [main] WARN de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Warn message 2022-01-25 09:28:11,146 [jboss-and-log4j2] [main] ERROR de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Error message 2022-01-25 09:28:11,146 [jboss-and-log4j2] [main] FATAL de.quoss.bug.jboss.logmananger.log4j2.Main JBoss Logger Fatal message 2022-01-25 09:28:11,146 [jboss-and-log4j2] [main] INFO de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Info message 2022-01-25 09:28:11,147 [jboss-and-log4j2] [main] WARN de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Warn message 2022-01-25 09:28:11,147 [jboss-and-log4j2] [main] ERROR de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Error message 2022-01-25 09:28:11,147 [jboss-and-log4j2] [main] FATAL de.quoss.test.log.producer.log4j2.Log4j2LogMsgProducer Log4j2 Logger Fatal message 2022-01-25 09:28:11,147 [jboss-and-log4j2] [main] TRACE de.quoss.bug.jboss.logmananger.log4j2.Main run() end As you can see, the MDC qualifier provided is only displayed in the log messages when explicitly put into the thread context.

    Description

      When providing context information for logging using the MDC map it is not propagated into the Log4j2 thread context map.

      Attachments

        Activity

          People

            jperkins-rhn James Perkins
            cquoss Clemens QuoƟ (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: