Class 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);
          }
    
     }