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) 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 { 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); 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; 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(); } }