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 "Ralph Goers (JIRA)" <ji...@apache.org> on 2016/07/23 21:01:20 UTC

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

    [ https://issues.apache.org/jira/browse/LOG4J2-949?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15390844#comment-15390844 ] 

Ralph Goers commented on LOG4J2-949:
------------------------------------

Actually Gary, they seem to be complaining that they don't see the MDC keys and values in the target syslog when using RFC5424. I know this works as I have tested it in the past. What isn't said here is how the syslog receiver is configured. It has to be capable of understanding RFC 5424 records and configured appropriately.

> 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
>              Labels: mdc, syslog, syslogappender, threadcontext
>
> 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