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

Remko Popma commented on LOG4J2-774:
------------------------------------

AFAICS, log4perl is the only logging package that actually documents the %x 
output format.

However, it seems that both 
[log4net|http://stackoverflow.com/questions/334367/when-to-use-nested-diagnostic-context-ndc]
 and 
[log4perl|http://log4perl.sourceforge.net/releases/Log-Log4perl/docs/html/Log/Log4perl.html#085cb]
 also format the %x pattern as a space-separated list without enclosing 
brackets.

I kind of like log4perl's example usage:
{code}
    Log::Log4perl::NDC->push("San");
    Log::Log4perl::NDC->push("Francisco");
    $logger->debug("rocks");

//PatternLayout format like ``%x %m%n'' will give output:

    San Francisco rocks
{code}

Given that three other logging packages use the space-separated format I 
wouldn't mind making that the default. We can add formatting options to use the 
comma-separated format enclosed by brackets.

Gary, what do you think?

> NdcPatternConverter brakes Log4j 1.2.x layout
> ---------------------------------------------
>
>                 Key: LOG4J2-774
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-774
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Layouts
>    Affects Versions: 2.0.1
>            Reporter: Frank Wißmann
>            Assignee: Remko Popma
>            Priority: Minor
>              Labels: patch
>             Fix For: 2.0.2
>
>         Attachments: NdcPatternConverter.java.patch
>
>
> In Log4j 1.2.17 NdcPatternConverter.format() returns an empty string "" or 
> the stack messages separated by space "a b c" 
> (NDC.DiagnosticContext.fullMessage).
> The PatternLayout \[%20.20x\] results in 
> {code}[                    ]{code} or {code}[               a b c]{code}.
> In Log4j 2.0.1 NdcPatternConverter.format() returns an unmodified 
> Collection.toString() representation: "\[\]" for an empty collection or the 
> collection separated by comma "\[a, b, c\]" 
> (DefaultThreadContextStack.toString() and 
> MutableThreadContextStack.toString()).
> The PatternLayout \[%20.20x\] results in {code}[                  []]{code} 
> or {code}[           [a, b, c]]{code}.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to