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

Joern Huxhorn commented on LOG4J2-623:
--------------------------------------

I'd suggest to use something like 

{code:xml}
<ContextMap>
        <item key="MDC.A">A_Value</item>
        <item key="MDC.B">B_Value</item>
</ContextMap>
{code}

for XML.

The difference is subtle. While line-breaks are [allowed in 
XML|http://www.w3.org/TR/REC-xml/#NT-AttValue], an XML parser is 
[normalizing|http://www.w3.org/TR/REC-xml/#AVNormalize] attribute values, 
changing line-breaks to space. So writing and reading the Thread Context 
wouldn't be a lossless process currently.

Regarding JSON, it should definitely look like this:

{code:javascript}
"threadContext": {
 "MDC.A": "A.Value",
 "MDC.B": "B.Value"
}
{code}

JSON isn't XML.

> Better structure of Thread Context Map in JSONLayout
> ----------------------------------------------------
>
>                 Key: LOG4J2-623
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-623
>             Project: Log4j 2
>          Issue Type: Improvement
>          Components: Layouts
>    Affects Versions: 2.0-rc1
>            Reporter: Mikael Ståldal
>            Assignee: Ralph Goers
>            Priority: Minor
>             Fix For: 2.0-rc2
>
>
> Currently, the Thread Context Map looks like this in JSONLayout:
> {code:JavaScript|title=Current}
>  "Properties":[
>       {
>         "name":"UserName",
>         "value":"admin"
>       },
>       {
>         "name":"OrgName",
>         "value":"test"
>       } 
>     ] 
> {code}
> This does not properly make use of the JSON data format. Since the Thread 
> Context Map is a map, it should be represented as a JSON object. And why not 
> name it "mdc" rather than the quite vauge "Properties"?
> {code:JavaScript|title=Suggested}
>   "mdc": {
>     "UserName":"admin", 
>     "OrgName":"test"
>   }
> {code}



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

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

Reply via email to