[ 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