You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Maxim Novikov (JIRA)" <ji...@apache.org> on 2015/02/05 01:08:35 UTC

[jira] [Created] (LOG4J2-949) No MDC parameters in Syslog

Maxim Novikov created LOG4J2-949:
------------------------------------

             Summary: No MDC parameters in Syslog
                 Key: LOG4J2-949
                 URL: https://issues.apache.org/jira/browse/LOG4J2-949
             Project: Log4j 2
          Issue Type: Bug
          Components: Appenders
    Affects Versions: 2.1
         Environment: Ubuntu 12
            Reporter: Maxim Novikov
            Priority: Critical


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

Here is my configuration:

{code:title=log4j2.xml|borderStyle=solid}
<?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>
{code}

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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org