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();
+    }
 }

Reply via email to