[
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: [email protected]
For additional commands, e-mail: [email protected]