anchor.diff:  
   Having this kind of information allows to group logs by user, by request, by processing.
   Remember that logs may be scattered across different servers, on different time periods. 
  -In short it allows to correlate logs belonging to the same scenario and find answers to questions like "what was the user X doing when he met this nasty error?"
  +In short, these additional fields allow correlating logs belonging to the same scenario and finding answers to questions like "what was the user X doing when he met this nasty error?"
   
   Let's get back to the example, we saw the MDC stores extra information about logs.
   The MDC is usually based on a thread local variable, this has two drawbacks:
  
positive.code: 	demoLogger.info("Hello world!");
  }
  ----
  Hopefully, this kind of code won't make its way in your business code because it is usually hidden in an interceptor like a Servlet filter, a Spring aspect or a JAXRS interceptor. In Logback, there is a `MDCInsertingServletFilter` class which can be used as an example.
  
  
  == JSON logging with Logback
  
negative.code: How can we write this data structure on disk or send it over the wire to log collection tool?
  We have to serialize it.
  For a human being, a simple text format as shown above is readable enough.
  However, for a machine, this is a just a word soup without any structure.
  In order to send structured logs to a log collection tool, 
  and take advantage of this structure (search by user, by thread...), 
  we must use a structured format like JSON.
  