Fleshing out HTTP logging
This commit is contained in:
@@ -95,12 +95,25 @@ public class GempukkuHttpRequestHandler extends SimpleChannelInboundHandler<Full
|
|||||||
ResponseSender responseSender = new ResponseSender(ctx, httpRequest);
|
ResponseSender responseSender = new ResponseSender(ctx, httpRequest);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (isBanned(requestInformation.remoteIp))
|
if (isBanned(requestInformation.remoteIp)) {
|
||||||
responseSender.writeError(401);
|
responseSender.writeError(401);
|
||||||
else
|
_log.trace("Denying entry to user from banned IP " + requestInformation.remoteIp);
|
||||||
|
}
|
||||||
|
else {
|
||||||
_uriRequestHandler.handleRequest(uri, httpRequest, _objects, responseSender, requestInformation.remoteIp);
|
_uriRequestHandler.handleRequest(uri, httpRequest, _objects, responseSender, requestInformation.remoteIp);
|
||||||
|
}
|
||||||
} catch (HttpProcessingException exp) {
|
} catch (HttpProcessingException exp) {
|
||||||
_log.error("Http error while processing request", exp);
|
int code = exp.getStatus();
|
||||||
|
//401, 403, 404, and other 400 errors should just do minimal logging,
|
||||||
|
// but 400 itself should error out
|
||||||
|
if(code % 400 < 100 && code != 400) {
|
||||||
|
_log.trace("HTTP " + code + " response for " + requestInformation.remoteIp + ": " + requestInformation.uri);
|
||||||
|
}
|
||||||
|
// record an HTTP 400
|
||||||
|
else if(code == 400 || code % 500 < 100) {
|
||||||
|
_log.error("HTTP code " + code + " response for " + requestInformation.remoteIp + ": " + requestInformation.uri, exp);
|
||||||
|
}
|
||||||
|
|
||||||
responseSender.writeError(exp.getStatus());
|
responseSender.writeError(exp.getStatus());
|
||||||
} catch (Exception exp) {
|
} catch (Exception exp) {
|
||||||
_log.error("Error while processing request", exp);
|
_log.error("Error while processing request", exp);
|
||||||
|
|||||||
Reference in New Issue
Block a user