[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 <imaxon@uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Michael Blow <mblow@apache.org>
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 1f5b441..219995b 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 @@
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 @@
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 @@
}
private void printAndPrepare() {
- if (!LOGGER.isEnabled(ACCESS_LOG_LEVEL)) {
+ if (!accessLogger.isEnabled(ACCESS_LOG_LEVEL)) {
return;
}
logLineBuilder.append(clientIp);
@@ -136,7 +142,7 @@
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 b7b33a7..ad8a61f 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 @@
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();
+ }
}