package com.github.dreamhead.moco.monitor; import com.github.dreamhead.moco.Request; import com.github.dreamhead.moco.Response; import com.github.dreamhead.moco.dumper.Dumper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Slf4jMonitor extends AbstractMonitor { private static Logger logger = LoggerFactory.getLogger(Slf4jMonitor.class); private final Dumper<Request> requestDumper; private final Dumper<Response> responseDumper; public Slf4jMonitor(final Dumper<Request> requestDumper, final Dumper<Response> responseDumper) { this.requestDumper = requestDumper; this.responseDumper = responseDumper; } @Override public void onMessageArrived(final Request request) { logger.info("Request received:\n\n{}\n", requestDumper.dump(request)); } @Override public void onException(final Throwable t) { logger.error("Exception thrown", t); } @Override public void onMessageLeave(final Response response) { logger.info("Response return:\n\n{}\n", responseDumper.dump(response)); } }