LoggingRoute.java 745 B

1234567891011121314151617181920212223242526272829
  1. package hello.web;
  2. import org.slf4j.Logger;
  3. import org.slf4j.LoggerFactory;
  4. import spark.Request;
  5. import spark.Response;
  6. import spark.Route;
  7. public abstract class LoggingRoute extends Route {
  8. private static final Logger LOGGER = LoggerFactory.getLogger(LoggingRoute.class);
  9. public LoggingRoute(final String path) {
  10. super(path);
  11. }
  12. @Override
  13. public Object handle(final Request request, final Response response) {
  14. try {
  15. return handleInternal(request, response);
  16. } catch (RuntimeException ex) {
  17. LOGGER.error("Request handling failed", ex);
  18. throw ex;
  19. }
  20. }
  21. protected abstract Object handleInternal(Request request, Response response);
  22. }