From 4fd491794adfb3ea1921257bd446d3d3e8b3ad9b Mon Sep 17 00:00:00 2001
From: Yannick Lecaillez <yannick.lecaillez@forgerock.com>
Date: Thu, 11 Jun 2015 09:01:35 +0000
Subject: [PATCH] OPENDJ-2067: verify-index should print output on stdout not stderr

---
 opendj-server-legacy/src/main/java/org/opends/server/loggers/JDKLogging.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/loggers/JDKLogging.java b/opendj-server-legacy/src/main/java/org/opends/server/loggers/JDKLogging.java
index be80652..668abba 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/loggers/JDKLogging.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/loggers/JDKLogging.java
@@ -25,12 +25,14 @@
  */
 package org.opends.server.loggers;
 
-import java.util.logging.ConsoleHandler;
+import java.util.logging.ErrorManager;
 import java.util.logging.Formatter;
 import java.util.logging.Handler;
 import java.util.logging.Level;
 import java.util.logging.LogManager;
+import java.util.logging.LogRecord;
 import java.util.logging.Logger;
+import java.util.logging.SimpleFormatter;
 
 /**
  * Utility class for java.util.logging support.
@@ -58,7 +60,7 @@
   public static void enableConsoleLoggingForOpenDJ(Level level)
   {
     LogManager.getLogManager().reset();
-    Handler handler = new ConsoleHandler();
+    Handler handler = new OpenDJHandler();
     handler.setFormatter(getFormatter());
     handler.setLevel(level);
     for (String loggingRoot : LOGGING_ROOTS)
@@ -69,6 +71,48 @@
     }
   }
 
+  private static final class OpenDJHandler extends Handler
+  {
+    @Override
+    public void publish(LogRecord record)
+    {
+      if (getFormatter() == null)
+      {
+        setFormatter(new SimpleFormatter());
+      }
+
+      try
+      {
+        String message = getFormatter().format(record);
+        if (record.getLevel().intValue() >= Level.WARNING.intValue())
+        {
+          System.err.write(message.getBytes());
+        }
+        else
+        {
+          System.out.write(message.getBytes());
+        }
+      }
+      catch (Exception exception)
+      {
+        reportError(null, exception, ErrorManager.FORMAT_FAILURE);
+        return;
+      }
+    }
+
+    @Override
+    public void close() throws SecurityException
+    {
+    }
+
+    @Override
+    public void flush()
+    {
+      System.out.flush();
+      System.err.flush();
+    }
+  }
+
   /**
    * Get a formatter.
    *

--
Gitblit v1.10.0