Class JsonHttpLogFormatter

java.lang.Object
org.zalando.logbook.json.JsonHttpLogFormatter
All Implemented Interfaces:
HttpLogFormatter, StructuredHttpLogFormatter

@API(status=STABLE) public final class JsonHttpLogFormatter extends Object implements StructuredHttpLogFormatter
A custom HttpLogFormatter that produces JSON objects. It can be augmented with composition:
 

 public class CustomsFormatter implements HttpLogFormatter {

     private final JsonHttpLogFormatter delegate;

     public CustomsFormatter(ObjectMapper mapper) {
         this.delegate = new JsonHttpLogFormatter(mapper);
     }

     public String format(Precorrelation precorrelation, HttpRequest request) throws IOException {
         Map<String, Object> content = delegate.prepare(precorrelation, request);
         // modify request here
         return delegate.format(content);
     }

     public String format(Correlation correlation, HttpResponse response) throws IOException {
         Map<String, Object> content = delegate.prepare(correlation, response);
         // modify response here
         return delegate.format(content);
      }

 }