Uploaded image for project: 'Log4j 2'
  1. Log4j 2
  2. LOG4J2-949

No MDC parameters in Syslog

    XMLWordPrintableJSON

    Details

      Description

      I cannot see thread context specific parameters (MDC) with the Syslog appender.

      Here is my configuration:

      log4j2.xml
      <?xml version="1.0" encoding="UTF-8"?>
      <Configuration status="WARN">
        <Appenders>
          <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%X{my-mdc-key} %d{HH:mm:ss.SSS} %-5level [%logger{1.}] %msg%n" />
          </Console>
          <Syslog name="Syslog"
                  format="RFC5424"
                  host="localhost"
                  port="514"
                  protocol="UDP" 
                  id="my-id"
                  mdcId="mdc"
                  mdcRequired="my-mdc-key"
                  enterpriseNumber="1000"
                  newLine="true"
                  appName="my-app">
            <LoggerFields>
              <KeyValuePair key="thread" value="%t" />
              <KeyValuePair key="category" value="%c" />
            </LoggerFields>
          </Syslog>
        </Appenders>
        <Loggers>
          <Root level="info">
            <AppenderRef ref="Console" />
            <AppenderRef ref="Syslog" />
          </Root>
      </Configuration>
      

      I can see my-mdc-key's value in the terminal just fine (as well as other MDC custom parameters if I need to), but there is none is syslog's log file.

      The same concerns the LoggerFields collection. I have added it just to try overcoming the issue with MDC, but also can't see any of those through syslog.

      I have tried to play with "mdcId", "mdcRequired", "mdcRequired", but with no success. The only thing for sure is that my MDC custom fields do exist in the context, as I can see them in the console, as well as Syslog appender starts with not exception when I specify them through "mdcRequired" field.

      PS Just to clarify, the messages do get delivered to the syslog, but no MDC and no custom logger fields there.

      Marked as "Critical" as we will have to migrate to logback or another framework if it is not going to work, as this functionality is required for us.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              csbubbles Maxim Novikov
            • Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: