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

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

I suppose moving the XML- and JSON-layouts into respective modules, each with 
proper non-optional dependencies, isn't an option? Not sure if they should 
really be considered core functionality of log4j.

{{<optional>}} is often a "dependency smell" indicating insufficient 
modularization. A counter-example would be an optional woodstox dependency that 
would replace the Java StAX implementation with the (faster) woodstox one if 
present. But the code would still work even without that woodstox dependency, 
making the dependency truly optional. The code would simply have worse 
performance.

Explaining that an "log4j2-json-layout" dependency needs to be added if the 
JSON layout is desired is easier to grasp than "Oh, that error? That means you 
need to add these two jackson dependencies.", probably on StackOverflow. People 
(at least some) tend to not read documentation. And those are enough to create 
unnecessary noise/support overhead on the user mailinglist.

> 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]

Reply via email to