support  output log caller data [ Filename、Line、Class、Method ] information,
and formatMessage support storage json format data;

for example:
  config:
           <layout class="ch.qos.logback.contrib.json.classic.JsonLayout">
               <jsonFormatter class="ch.qos.logback.contrib.jackson.JacksonJsonFormatter">
                   <prettyPrint>true</prettyPrint>
               </jsonFormatter>
               <timestampFormat>yyyy-MM-dd HH:mm:ss.SSS</timestampFormat>
               <appendLineSeparator>true</appendLineSeparator>
               <includeFileLine>true</includeFileLine>
               <includeClassAndMethod>true</includeClassAndMethod>
               <needJsonFormatMessage>true</needJsonFormatMessage>
           </layout>

  output content:
    {
            "timestamp": "2014-03-24 16:46:02.968",
            "level": "INFO",
            "thread": "main",
            "logger": "intflog",
            "message": {
                "receiverHost": null,
                "uuId": null,
                "paramValues": null,
                "version": null,
                "sessionId": null,
                "resultValue": {},
                "senderHost": null,
                "costTime": 0
            },
            "context": "opa",
            "file-line": "JsonFormatTest.java:27",
            "class-method": "com.ofpay.com.log.JsonFormatTest@main"
        }
support configuration those features:
  -- includeExceptionOnlyMsg:  if set true, then only record exception.getMessage();
  -- needSubExceptionStack:  if set true, then substr exception's stack;
  -- maxExceptionStackLength: max length of exception stack,  default value is 1024;