From ce99becd5e8a91c6f938292aac693e07e5f3ca2b Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Fri, 04 May 2007 18:25:23 +0000
Subject: [PATCH] Fixed an issue where debug logging would be enabled by default for command line tools. Now startup debug logger is only enabled on bootstrap  server.

---
 opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java      |    8 ++++++++
 opendj-sdk/opends/src/server/org/opends/server/loggers/debug/DebugLogger.java |   44 ++++++--------------------------------------
 2 files changed, 14 insertions(+), 38 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java b/opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java
index 2ab979d..296bc41 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java
@@ -83,6 +83,7 @@
 import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
 import static org.opends.server.loggers.AccessLogger.*;
 import static org.opends.server.loggers.debug.DebugLogger.*;
+import org.opends.server.loggers.debug.TextDebugLogPublisher;
 import static org.opends.server.loggers.ErrorLogger.*;
 import static org.opends.server.messages.CoreMessages.*;
 import static org.opends.server.messages.MessageHandler.*;
@@ -490,6 +491,8 @@
   // The schema configuration manager for the Directory Server.
   private SchemaConfigManager schemaConfigManager;
 
+  // The debug logger that will be used during the Directory Server startup.
+  private TextDebugLogPublisher startupDebugLogPublisher;
 
   // The error logger that will be used during the Directory Server startup.
   private TextErrorLogPublisher startupErrorLogPublisher;
@@ -740,6 +743,11 @@
             new TextWriter.STDOUT());
     addErrorLogPublisher(DN.NULL_DN, startupErrorLogPublisher);
 
+    startupDebugLogPublisher =
+        TextDebugLogPublisher.getStartupTextDebugPublisher(
+            new TextWriter.STDOUT());
+    addDebugLogPublisher(DN.NULL_DN, startupDebugLogPublisher);
+
     // Create the MBean server that we will use for JMX interaction.
     initializeJMX();
 
diff --git a/opendj-sdk/opends/src/server/org/opends/server/loggers/debug/DebugLogger.java b/opendj-sdk/opends/src/server/org/opends/server/loggers/debug/DebugLogger.java
index 2c203a9..6ad8c78 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/loggers/debug/DebugLogger.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/loggers/debug/DebugLogger.java
@@ -100,34 +100,6 @@
   // The singleton instance of this class for configuration purposes.
   static final DebugLogger instance = new DebugLogger();
 
-  static
-  {
-    // Install the startup publishers if necessary until the config kicks in and
-    // adds the real publishers.
-
-    if(DynamicConstants.WEAVE_ENABLED)
-    {
-      try
-      {
-        TextDebugLogPublisher startupDebugPublisher =
-            TextDebugLogPublisher.getStartupTextDebugPublisher(
-                new TextWriter.STDOUT());
-
-        debugPublishers.put(DN.NULL_DN,
-                            startupDebugPublisher);
-        enabled = true;
-
-        // Update all existing aspect instances
-        addTracerSettings(startupDebugPublisher);
-      }
-      catch(Exception e)
-      {
-        System.err.println("Error installing the startup debug logger: " +
-            StaticUtils.stackTraceToSingleLineString(e));
-      }
-    }
-  }
-
   /**
    * Add an debug log publisher to the debug logger.
    *
@@ -138,6 +110,10 @@
                                                  DebugLogPublisher publisher)
   {
     debugPublishers.put(dn, publisher);
+
+    // Update all existing aspect instances
+    addTracerSettings(publisher);
+
     enabled = DynamicConstants.WEAVE_ENABLED;
   }
 
@@ -154,6 +130,7 @@
     if(removed != null)
     {
       removed.close();
+      removeTracerSettings(removed);
     }
 
     if(debugPublishers.isEmpty())
@@ -172,6 +149,7 @@
     for(DebugLogPublisher publisher : debugPublishers.values())
     {
       publisher.close();
+      removeTracerSettings(publisher);
     }
 
     debugPublishers.clear();
@@ -203,9 +181,6 @@
         DebugLogPublisher debugLogPublisher = getDebugPublisher(config);
 
         addDebugLogPublisher(config.dn(), debugLogPublisher);
-
-        // Update all existing aspect instances
-        addTracerSettings(debugLogPublisher);
       }
     }
   }
@@ -250,8 +225,6 @@
             getDebugPublisher(config);
 
         addDebugLogPublisher(config.dn(), debugLogPublisher);
-
-        addTracerSettings(debugLogPublisher);
       }
       catch(ConfigException e)
       {
@@ -317,7 +290,6 @@
       else
       {
         // The publisher is being disabled so shut down and remove.
-        removeTracerSettings(debugLogPublisher);
         removeDebugLogPublisher(config.dn());
       }
     }
@@ -348,10 +320,6 @@
     boolean adminActionRequired = false;
 
     DebugLogPublisher publisher = removeDebugLogPublisher(config.dn());
-    if(publisher != null)
-    {
-      removeTracerSettings(publisher);
-    }
 
     return new ConfigChangeResult(resultCode, adminActionRequired);
   }

--
Gitblit v1.10.0