This is an automated email from the ASF dual-hosted git repository. mblow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit 4cb70d8dd5d4ee241062155e41a90d847fb59a46 Author: Michael Blow <[email protected]> AuthorDate: Wed Oct 25 23:34:03 2023 -0400 [NO ISSUE][HYR][HTTP] Enable CLF logger instance customization Change-Id: Ia0a322fd0d193e21a16d654990253f6a6ad5bb0b Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17881 Reviewed-by: Ian Maxon <[email protected]> Integration-Tests: Jenkins <[email protected]> Tested-by: Michael Blow <[email protected]> --- .../main/java/org/apache/hyracks/http/server/CLFLogger.java | 12 +++++++++--- .../apache/hyracks/http/server/HttpServerInitializer.java | 6 +++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/CLFLogger.java b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/CLFLogger.java index 1f5b441b95..219995b8e3 100644 --- a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/CLFLogger.java +++ b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/CLFLogger.java @@ -47,8 +47,9 @@ public class CLFLogger extends ChannelDuplexHandler { private static final Level ACCESS_LOG_LEVEL = Level.forName("ACCESS", 550); private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("dd/MMM/yyyy:HH:mm:ss Z").withZone(ZoneId.systemDefault()); - private StringBuilder logLineBuilder; + private final StringBuilder logLineBuilder; + private final Logger accessLogger; private String clientIp; private Instant requestTime; private String reqLine; @@ -58,7 +59,12 @@ public class CLFLogger extends ChannelDuplexHandler { private boolean lastChunk = false; public CLFLogger() { + this(LOGGER); + } + + public CLFLogger(Logger accessLogger) { this.logLineBuilder = new StringBuilder(); + this.accessLogger = accessLogger; respSize = 0; } @@ -121,7 +127,7 @@ public class CLFLogger extends ChannelDuplexHandler { } private void printAndPrepare() { - if (!LOGGER.isEnabled(ACCESS_LOG_LEVEL)) { + if (!accessLogger.isEnabled(ACCESS_LOG_LEVEL)) { return; } logLineBuilder.append(clientIp); @@ -136,7 +142,7 @@ public class CLFLogger extends ChannelDuplexHandler { logLineBuilder.append(" ").append(statusCode); logLineBuilder.append(" ").append(respSize); logLineBuilder.append(" ").append(userAgentRef); - LOGGER.log(ACCESS_LOG_LEVEL, logLineBuilder); + accessLogger.log(ACCESS_LOG_LEVEL, logLineBuilder); respSize = 0; logLineBuilder.setLength(0); } diff --git a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServerInitializer.java b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServerInitializer.java index b7b33a7296..ad8a61f4a0 100644 --- a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServerInitializer.java +++ b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServerInitializer.java @@ -49,8 +49,12 @@ public class HttpServerInitializer extends ChannelInitializer<SocketChannel> { p.addLast(new HttpRequestCapacityController(server)); p.addLast(new HttpRequestDecoder(maxRequestInitialLineLength, maxRequestHeaderSize, maxRequestChunkSize)); p.addLast(new HttpResponseEncoder()); - p.addLast(new CLFLogger()); + p.addLast(getCLFLogger()); p.addLast(new HttpRequestAggregator(maxRequestSize)); p.addLast(server.createHttpHandler(maxResponseChunkSize)); } + + protected CLFLogger getCLFLogger() { + return new CLFLogger(); + } }
