43 lines
1.2 KiB
Java
43 lines
1.2 KiB
Java
package de.bluecolored.bluemap.common.web;
|
|
|
|
import de.bluecolored.bluemap.common.web.http.HttpRequest;
|
|
import de.bluecolored.bluemap.common.web.http.HttpRequestHandler;
|
|
import de.bluecolored.bluemap.common.web.http.HttpResponse;
|
|
import de.bluecolored.bluemap.core.logger.Logger;
|
|
|
|
public class LoggingRequestHandler implements HttpRequestHandler {
|
|
|
|
private final HttpRequestHandler delegate;
|
|
private final Logger logger;
|
|
|
|
public LoggingRequestHandler(HttpRequestHandler delegate) {
|
|
this(delegate, Logger.global);
|
|
}
|
|
|
|
public LoggingRequestHandler(HttpRequestHandler delegate, Logger logger) {
|
|
this.delegate = delegate;
|
|
this.logger = logger;
|
|
}
|
|
|
|
@Override
|
|
public HttpResponse handle(HttpRequest request) {
|
|
String log = request.getSource() + " \""
|
|
+ request.getMethod()
|
|
+ " " + request.getAddress()
|
|
+ " " + request.getVersion()
|
|
+ "\" ";
|
|
|
|
HttpResponse response = delegate.handle(request);
|
|
|
|
log += response.getStatusCode().toString();
|
|
if (response.getStatusCode().getCode() < 400) {
|
|
logger.logInfo(log);
|
|
} else {
|
|
logger.logWarning(log);
|
|
}
|
|
|
|
return response;
|
|
}
|
|
|
|
}
|