From d755882f59202fe62b2ad5a141b3c044c1898aa6 Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Thu, 03 May 2007 21:55:23 +0000
Subject: [PATCH] Major changes made to the logging framework. It should resolve the following issues:

---
 opends/src/server/org/opends/server/tools/RestoreDB.java |   30 +++++++++++++++++++++++++-----
 1 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/opends/src/server/org/opends/server/tools/RestoreDB.java b/opends/src/server/org/opends/server/tools/RestoreDB.java
index 81a7c59..cb9798a 100644
--- a/opends/src/server/org/opends/server/tools/RestoreDB.java
+++ b/opends/src/server/org/opends/server/tools/RestoreDB.java
@@ -42,7 +42,9 @@
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.core.LockFileManager;
 import org.opends.server.extensions.ConfigFileHandler;
-import org.opends.server.loggers.StartupErrorLogger;
+import org.opends.server.loggers.ThreadFilterTextErrorLogPublisher;
+import org.opends.server.loggers.TextWriter;
+import org.opends.server.loggers.ErrorLogger;
 import org.opends.server.types.BackupDirectory;
 import org.opends.server.types.BackupInfo;
 import org.opends.server.types.DirectoryException;
@@ -56,11 +58,12 @@
 import org.opends.server.util.args.BooleanArgument;
 import org.opends.server.util.args.StringArgument;
 
-import static org.opends.server.loggers.Error.*;
+import static org.opends.server.loggers.ErrorLogger.*;
 import static org.opends.server.messages.MessageHandler.*;
 import static org.opends.server.messages.ToolMessages.*;
 import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.StaticUtils.*;
+import org.opends.server.util.StaticUtils;
 import static org.opends.server.tools.ToolConstants.*;
 
 
@@ -73,6 +76,7 @@
  */
 public class RestoreDB
 {
+  private static DN publisherDN = null;
   /**
    * The main method for RestoreDB tool.
    *
@@ -83,6 +87,11 @@
   {
     int retCode = mainRestoreDB(args);
 
+    if(publisherDN != null)
+    {
+      ErrorLogger.removeErrorLogPublisher(publisherDN);
+    }
+
     if(retCode != 0)
     {
       System.exit(retCode);
@@ -342,9 +351,20 @@
 
       // FIXME -- Install a custom logger to capture information about the state
       // of the export.
-      StartupErrorLogger startupLogger = new StartupErrorLogger();
-      startupLogger.initializeErrorLogger(null);
-      addErrorLogger(startupLogger);
+      try
+      {
+        publisherDN = DN.decode("cn=Custom Logger for RestoreDB");
+        ThreadFilterTextErrorLogPublisher publisher =
+            new ThreadFilterTextErrorLogPublisher(Thread.currentThread(),
+                                                  new TextWriter.STDOUT());
+        ErrorLogger.addErrorLogPublisher(publisherDN, publisher);
+
+      }
+      catch(Exception e)
+      {
+        System.err.println("Error installing the custom error logger: " +
+            StaticUtils.stackTraceToSingleLineString(e));
+      }
     }
 
 

--
Gitblit v1.10.0