From 94502a1fdf41451d43080e1596c7b491743039f2 Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Wed, 19 Mar 2008 22:31:09 +0000
Subject: [PATCH] Fixed a issue created in revision 3977 where messages are printed twice when running some tools (import-ldif, verif y-index, etc...)

---
 opends/src/server/org/opends/server/core/DirectoryServer.java |   36 +++++++++++++++++++++---------------
 1 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/opends/src/server/org/opends/server/core/DirectoryServer.java b/opends/src/server/org/opends/server/core/DirectoryServer.java
index cea6268..9887847 100644
--- a/opends/src/server/org/opends/server/core/DirectoryServer.java
+++ b/opends/src/server/org/opends/server/core/DirectoryServer.java
@@ -88,6 +88,7 @@
 import static org.opends.server.loggers.debug.DebugLogger.*;
 import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.loggers.debug.DebugLogger;
+import org.opends.server.loggers.debug.TextDebugLogPublisher;
 
 import org.opends.messages.MessageDescriptor;
 import org.opends.messages.Message;
@@ -190,16 +191,7 @@
 import java.io.PrintStream;
 import java.net.InetAddress;
 import java.text.DecimalFormat;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.TreeSet;
+import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.CopyOnWriteArraySet;
@@ -1453,11 +1445,6 @@
       logError(message);
       sendAlertNotification(this, ALERT_TYPE_SERVER_STARTED, message);
 
-
-      // Remove default loggers
-      ErrorLogger.removeFirstErrorLogPublisher();
-      DebugLogger.removeFirstDebugLogPublisher();
-
       // Force the root connection to be initialized.
       InternalClientConnection.getRootConnection();
 
@@ -9488,6 +9475,22 @@
     }
 
 
+    // Install the default loggers so the startup messages
+    // will be printed.
+    TextErrorLogPublisher startupErrorLogPublisher = null;
+    TextDebugLogPublisher startupDebugLogPublisher = null;
+
+    startupErrorLogPublisher =
+        TextErrorLogPublisher.getStartupTextErrorPublisher(
+            new TextWriter.STDOUT());
+    ErrorLogger.addErrorLogPublisher(startupErrorLogPublisher);
+
+    startupDebugLogPublisher =
+        TextDebugLogPublisher.getStartupTextDebugPublisher(
+            new TextWriter.STDOUT());
+    DebugLogger.addDebugLogPublisher(startupDebugLogPublisher);
+
+
     // Create an environment configuration for the server and populate a number
     // of appropriate properties.
     DirectoryEnvironmentConfig environmentConfig =
@@ -9556,6 +9559,9 @@
               stackTraceToSingleLineString(e));
       shutDown(directoryServer.getClass().getName(), message);
     }
+
+    ErrorLogger.removeErrorLogPublisher(startupErrorLogPublisher);
+    DebugLogger.removeDebugLogPublisher(startupDebugLogPublisher);
   }
 
   /**

--
Gitblit v1.10.0