From 834a8ae734c7af26826962d52e1aace2bd7bbef3 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 03 May 2013 12:33:08 +0000
Subject: [PATCH] OPENDJ-879 (CR-1642) Add HTTP access log

---
 opends/src/server/org/opends/server/core/LoggerConfigManager.java |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/opends/src/server/org/opends/server/core/LoggerConfigManager.java b/opends/src/server/org/opends/server/core/LoggerConfigManager.java
index 1ef20fd..b8eb7a9 100644
--- a/opends/src/server/org/opends/server/core/LoggerConfigManager.java
+++ b/opends/src/server/org/opends/server/core/LoggerConfigManager.java
@@ -37,11 +37,17 @@
 import org.opends.server.admin.server.ConfigurationAddListener;
 import org.opends.server.admin.server.ConfigurationDeleteListener;
 import org.opends.server.admin.server.ServerManagementContext;
-import org.opends.server.admin.std.server.*;
+import org.opends.server.admin.std.server.AccessLogPublisherCfg;
+import org.opends.server.admin.std.server.DebugLogPublisherCfg;
+import org.opends.server.admin.std.server.ErrorLogPublisherCfg;
+import org.opends.server.admin.std.server.HTTPAccessLogPublisherCfg;
+import org.opends.server.admin.std.server.LogPublisherCfg;
+import org.opends.server.admin.std.server.RootCfg;
 import org.opends.server.config.ConfigException;
 import org.opends.server.loggers.AbstractLogger;
 import org.opends.server.loggers.AccessLogger;
 import org.opends.server.loggers.ErrorLogger;
+import org.opends.server.loggers.HTTPAccessLogger;
 import org.opends.server.loggers.debug.DebugLogger;
 import org.opends.server.types.ConfigChangeResult;
 import org.opends.server.types.InitializationException;
@@ -87,6 +93,9 @@
     List<AccessLogPublisherCfg> accessPublisherCfgs =
         new ArrayList<AccessLogPublisherCfg>();
 
+    List<HTTPAccessLogPublisherCfg> httpAccessPublisherCfgs =
+        new ArrayList<HTTPAccessLogPublisherCfg>();
+
     List<ErrorLogPublisherCfg> errorPublisherCfgs =
         new ArrayList<ErrorLogPublisherCfg>();
 
@@ -102,6 +111,10 @@
       {
         accessPublisherCfgs.add((AccessLogPublisherCfg)config);
       }
+      else if (config instanceof HTTPAccessLogPublisherCfg)
+      {
+        httpAccessPublisherCfgs.add((HTTPAccessLogPublisherCfg) config);
+      }
       else if(config instanceof ErrorLogPublisherCfg)
       {
         errorPublisherCfgs.add((ErrorLogPublisherCfg)config);
@@ -116,10 +129,16 @@
 
     // See if there are active loggers in all categories.  If not, then log a
     // message.
+    // Do not output warn message for debug loggers because it is valid to fully
+    // disable all debug loggers.
     if (accessPublisherCfgs.isEmpty())
     {
       logError(WARN_CONFIG_LOGGER_NO_ACTIVE_ACCESS_LOGGERS.get());
     }
+    if (httpAccessPublisherCfgs.isEmpty())
+    {
+      logError(WARN_CONFIG_LOGGER_NO_ACTIVE_HTTP_ACCESS_LOGGERS.get());
+    }
     if (errorPublisherCfgs.isEmpty())
     {
       logError(WARN_CONFIG_LOGGER_NO_ACTIVE_ERROR_LOGGERS.get());
@@ -127,6 +146,7 @@
 
     DebugLogger.getInstance().initializeLogger(debugPublisherCfgs);
     AccessLogger.getInstance().initializeLogger(accessPublisherCfgs);
+    HTTPAccessLogger.getInstance().initializeLogger(httpAccessPublisherCfgs);
     ErrorLogger.getInstance().initializeLogger(errorPublisherCfgs);
   }
 
@@ -154,6 +174,10 @@
     {
       return AccessLogger.getInstance();
     }
+    else if (config instanceof HTTPAccessLogPublisherCfg)
+    {
+      return HTTPAccessLogger.getInstance();
+    }
     else if (config instanceof ErrorLogPublisherCfg)
     {
       return ErrorLogger.getInstance();

--
Gitblit v1.10.0