Class JsonHttpLogFormatterJackson2

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

@API(status=STABLE) public final class JsonHttpLogFormatterJackson2 extends Object implements org.zalando.logbook.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);
      }

 }
 
 
  • Constructor Details

    • JsonHttpLogFormatterJackson2

      public JsonHttpLogFormatterJackson2()
    • JsonHttpLogFormatterJackson2

      public JsonHttpLogFormatterJackson2(com.fasterxml.jackson.databind.ObjectMapper mapper)
  • Method Details

    • prepareBody

      public Optional<Object> prepareBody(org.zalando.logbook.HttpMessage message) throws IOException
      Specified by:
      prepareBody in interface org.zalando.logbook.StructuredHttpLogFormatter
      Throws:
      IOException
    • format

      public String format(Map<String,Object> content) throws IOException
      Specified by:
      format in interface org.zalando.logbook.StructuredHttpLogFormatter
      Throws:
      IOException