From 530d5906228862ee2d8a26e451cac47b287073f0 Mon Sep 17 00:00:00 2001
From: Gaetan Boismal <gaetan.boismal@forgerock.com>
Date: Wed, 23 Mar 2016 16:54:44 +0000
Subject: [PATCH] OPENDJ-2765 Make upgrade less verbose
---
opendj-server-legacy/src/main/java/org/opends/server/tools/RebuildIndex.java | 4 +-
opendj-server-legacy/src/main/java/org/opends/server/tools/tasks/TaskTool.java | 3 -
opendj-server-legacy/src/main/java/org/opends/server/loggers/JDKLogging.java | 59 +++++++++++++++++++++++++++--
opendj-server-legacy/src/main/java/org/opends/server/tools/LDAPConnection.java | 5 +-
opendj-server-legacy/src/main/java/org/opends/server/tools/VerifyIndex.java | 3 -
5 files changed, 60 insertions(+), 14 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 c5fdcdc..e51d838 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
@@ -11,10 +11,11 @@
* Header, with the fields enclosed by brackets [] replaced by your own identifying
* information: "Portions Copyright [year] [name of copyright owner]".
*
- * Copyright 2014-2015 ForgeRock AS.
+ * Copyright 2014-2016 ForgeRock AS.
*/
package org.opends.server.loggers;
+import java.io.PrintStream;
import java.util.logging.ErrorManager;
import java.util.logging.Formatter;
import java.util.logging.Handler;
@@ -43,14 +44,53 @@
/**
* Enable JDK logging to stderr at provided level for OpenDJ classes.
+ * <p>
+ * Error and warning messages will be printed on stderr, other messages will be printed on stdout.
+ */
+ public static void enableVerboseConsoleLoggingForOpenDJ()
+ {
+ enableConsoleLoggingForOpenDJ(Level.ALL, System.out, System.err);
+ }
+
+ /**
+ * Enable JDK logging for OpenDJ tool.
+ * <p>
+ * Error and warning messages will be printed on stderr, other messages will be printed on stdout.
+ * This method should only be used by external tool classes.
+ */
+ public static void enableConsoleLoggingForOpenDJTool()
+ {
+ enableConsoleLoggingForOpenDJ(Level.FINE, System.out, System.err);
+ }
+
+ /**
+ * Enable JDK logging in provided {@link PrintStream} for OpenDJ tool.
+ * <p>
+ * All messages will be printed on the provided {@link PrintStream}.
+ * This method should only be used by external tool classes.
+ *
+ * @param stream
+ * The stream to use to print messages.
+ */
+ public static void enableLoggingForOpenDJTool(final PrintStream stream)
+ {
+ enableConsoleLoggingForOpenDJ(Level.FINE, stream, stream);
+ }
+
+ /**
+ * Enable JDK logging at provided {@link Level} in provided {@link PrintStream} for OpenDJ classes.
*
* @param level
* The level to log.
+ * @param out
+ * The stream to use to print messages from {@link Level#FINEST} and {@link Level#INFO} included.
+ * @param err
+ * The stream to use to print {@link Level#SEVERE} and {@link Level#WARNING} messages.
*/
- public static void enableConsoleLoggingForOpenDJ(Level level)
+ private static void enableConsoleLoggingForOpenDJ(final Level level, final PrintStream out, final PrintStream err)
{
LogManager.getLogManager().reset();
- Handler handler = new OpenDJHandler();
+ Handler handler = new OpenDJHandler(out, err);
handler.setFormatter(getFormatter());
handler.setLevel(level);
for (String loggingRoot : LOGGING_ROOTS)
@@ -66,6 +106,15 @@
*/
private static final class OpenDJHandler extends Handler
{
+ private final PrintStream out;
+ private final PrintStream err;
+
+ private OpenDJHandler(final PrintStream out, final PrintStream err)
+ {
+ this.out = out;
+ this.err = err;
+ }
+
@Override
public void publish(LogRecord record)
{
@@ -79,11 +128,11 @@
String message = getFormatter().format(record);
if (record.getLevel().intValue() >= Level.WARNING.intValue())
{
- System.err.write(message.getBytes());
+ err.write(message.getBytes());
}
else
{
- System.out.write(message.getBytes());
+ out.write(message.getBytes());
}
}
catch (Exception exception)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/LDAPConnection.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/LDAPConnection.java
index 100b3c8..d30f891 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/LDAPConnection.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/LDAPConnection.java
@@ -12,7 +12,7 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2009-2010 Sun Microsystems, Inc.
- * Portions Copyright 2013-2015 ForgeRock AS.
+ * Portions Copyright 2013-2016 ForgeRock AS.
*/
package org.opends.server.tools;
import java.io.IOException;
@@ -24,7 +24,6 @@
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.concurrent.atomic.AtomicInteger;
-import java.util.logging.Level;
import org.forgerock.i18n.LocalizableMessage;
import org.opends.server.controls.AuthorizationIdentityResponseControl;
@@ -174,7 +173,7 @@
if (connectionOptions.isVerbose())
{
- JDKLogging.enableConsoleLoggingForOpenDJ(Level.ALL);
+ JDKLogging.enableVerboseConsoleLoggingForOpenDJ();
}
else
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/RebuildIndex.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/RebuildIndex.java
index 5b59d6f..9b6d17b8 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/RebuildIndex.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/RebuildIndex.java
@@ -28,7 +28,6 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.logging.Level;
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.LocalizableMessageDescriptor.Arg1;
@@ -134,7 +133,7 @@
{
final PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
final PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
- JDKLogging.enableConsoleLoggingForOpenDJ(Level.FINE);
+ JDKLogging.enableConsoleLoggingForOpenDJTool();
// Initialize all the command-line argument types and register them with the
// parser.
@@ -648,6 +647,7 @@
public int rebuildIndexesWithinMultipleBackends(
final boolean initializeServer, final PrintStream out, final Collection<String> args)
{
+ JDKLogging.enableLoggingForOpenDJTool(out);
try
{
setErrorAndDebugLogPublisher(out, out);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/VerifyIndex.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/VerifyIndex.java
index 4f14736..8e42c07 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/VerifyIndex.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/VerifyIndex.java
@@ -27,7 +27,6 @@
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;
-import java.util.logging.Level;
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.opendj.config.server.ConfigException;
@@ -92,7 +91,7 @@
OutputStream errStream)
{
PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
- JDKLogging.enableConsoleLoggingForOpenDJ(Level.FINE);
+ JDKLogging.enableConsoleLoggingForOpenDJTool();
// Define the command-line arguments that may be used with this program.
StringArgument configClass = null;
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/tasks/TaskTool.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/tasks/TaskTool.java
index 87599b8..afddab6 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/tasks/TaskTool.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/tasks/TaskTool.java
@@ -29,7 +29,6 @@
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import java.util.logging.Level;
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.opendj.ldap.DecodeException;
@@ -178,7 +177,7 @@
else
{
// server is offline => output logs to the console
- JDKLogging.enableConsoleLoggingForOpenDJ(Level.FINE);
+ JDKLogging.enableConsoleLoggingForOpenDJTool();
taskScheduleArgs.validateArgsIfOffline();
}
}
--
Gitblit v1.10.0