mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Nicolas Capponi
12.55.2014 39be274a446bc48400fb0f4ff8ec74b54883f7a6
Checkpoint commit for OPENDJ-1288 : 
Migrate I18n and logging support to i18n framework and SLF4J

Fix logging in tools
* Disable JDK logging when no output is expected on stdout or stderr
* Add JDKLogging class to provide JDK logging setup utilities
* Replace use of logger by print to stderr in few classes
* Enable JDK Logging for LDAPXXX tools when verbose mode is
required
* Fix OPENDJ-1314 ldapsearch --verbose does not display
the "debug" information
* Fix OPENDJ-1333 Unexpected traces in encode-password output
1 files added
1 files renamed
29 files modified
357 ■■■■■ changed files
opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/util/ControlPanelLog.java 15 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/quicksetup/org/opends/quicksetup/QuickSetupLog.java 4 ●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/loggers/JDKLogging.java 92 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/loggers/JDKLoggingFormater.java 2 ●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/loggers/LoggingCategoryNames.java 2 ●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/BackUpDB.java 2 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/ConfigureDS.java 6 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/ConfigureWindowsService.java 3 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/CreateRCScript.java 3 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/DBTest.java 16 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/EncodePassword.java 28 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/ExportLDIF.java 5 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/ImportLDIF.java 2 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/JavaPropertiesTool.java 3 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/LDAPCompare.java 15 ●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/LDAPConnection.java 17 ●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/LDAPDelete.java 1 ●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/LDIFDiff.java 3 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/LDIFModify.java 3 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/LDIFSearch.java 2 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/ListBackends.java 5 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/ManageAccount.java 6 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/ManageTasks.java 8 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/RebuildIndex.java 2 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/RestoreDB.java 2 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/StartWindowsService.java 4 ●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/StopDS.java 3 ●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/StopWindowsService.java 4 ●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/VerifyIndex.java 94 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/WaitForFileDelete.java 2 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/dsconfig/DSConfig.java 3 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/util/ControlPanelLog.java
@@ -33,7 +33,7 @@
import java.util.Date;
import java.text.DateFormat;
import org.opends.server.loggers.JdkLoggingFormater;
import org.opends.server.loggers.JDKLogging;
/**
 * Utilities for setting up Control Panel application log.
@@ -57,18 +57,21 @@
    {
      logFile = file;
      fileHandler = new FileHandler(logFile.getCanonicalPath());
      fileHandler.setFormatter(new JdkLoggingFormater());
      for (String packageName : packages)
      fileHandler.setFormatter(JDKLogging.getFormatter());
      boolean initialLogDone = false;
      for (String root : JDKLogging.getOpendDJLoggingRoots())
      {
        Logger logger = Logger.getLogger(packageName);
        Logger logger = Logger.getLogger(root);
        if (disableLoggingToConsole())
        {
          logger.setUseParentHandlers(false); // disable logging to console
        }
        logger.addHandler(fileHandler);
        if (!initialLogDone) {
          logger.info(getInitialLogRecord());
          initialLogDone = true;
        }
      }
      Logger logger = Logger.getLogger(packages[0]);
      logger.info(getInitialLogRecord());
    }
  }
opendj3-server-dev/src/quicksetup/org/opends/quicksetup/QuickSetupLog.java
@@ -34,7 +34,7 @@
import java.util.Date;
import java.text.DateFormat;
import org.opends.server.loggers.JdkLoggingFormater;
import org.opends.server.loggers.JDKLogging;
/**
 * Utilities for setting up QuickSetup application log.
@@ -54,7 +54,7 @@
    if (!isInitialized()) {
      logFile = file;
      fileHandler = new FileHandler(logFile.getCanonicalPath());
      fileHandler.setFormatter(new JdkLoggingFormater());
      fileHandler.setFormatter(JDKLogging.getFormatter());
      Logger logger = Logger.getLogger("org.opends");
      logger.addHandler(fileHandler);
      disableConsoleLogging();
opendj3-server-dev/src/server/org/opends/server/loggers/JDKLogging.java
New file
@@ -0,0 +1,92 @@
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
 * or http://forgerock.org/license/CDDLv1.0.html.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at legal-notices/CDDLv1_0.txt.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information:
 *      Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 *
 *
 *      Copyright 2014 ForgeRock AS.
 */
package org.opends.server.loggers;
import java.util.logging.ConsoleHandler;
import java.util.logging.Formatter;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.LogManager;
import java.util.logging.Logger;
/**
 * Utility class for java.util.logging support.
 */
public class JDKLogging
{
  /** Root packages that contains all OpenDJ related classes. */
  private static final String[] LOGGING_ROOTS = new String[] { "org.opends", "org.forgerock.opendj"};
  /**
   * Disable java.util.logging.
   */
  public static void disableLogging()
  {
    LogManager.getLogManager().reset();
    Logger.getLogger("").setLevel(Level.OFF);
  }
  /**
   * Enable JDK logging to stderr at provided level for OpenDJ classes.
   *
   * @param level
   *          The level to log.
   */
  public static void enableConsoleLoggingForOpenDJ(Level level)
  {
    Handler handler = new ConsoleHandler();
    handler.setFormatter(getFormatter());
    handler.setLevel(level);
    for (String loggingRoot : LOGGING_ROOTS)
    {
      Logger logger = Logger.getLogger(loggingRoot);
      logger.setLevel(level);
      logger.addHandler(handler);
    }
  }
  /**
   * Get a formatter.
   *
   * @return a formatter for loggers
   */
  public static Formatter getFormatter()
  {
    return new JDKLoggingFormater();
  }
  /**
   * Returns the packages to be used as root for logging.
   * <p>
   * This package covers all OpenDJ classes.
   *
   * @return the root packages to log
   */
  public static String[] getOpendDJLoggingRoots() {
    return LOGGING_ROOTS;
  }
}
opendj3-server-dev/src/server/org/opends/server/loggers/JDKLoggingFormater.java
File was renamed from opendj3-server-dev/src/server/org/opends/server/loggers/JdkLoggingFormater.java
@@ -40,7 +40,7 @@
 * "java.util.logging.SimpleFormatter.format" parameter to the JVM. Use the
 * parameter instead of this class when JDK6 is not supported any more.
 */
public class JdkLoggingFormater extends Formatter
public final class JDKLoggingFormater extends Formatter
{
  /** Use one formatter per thread as DateFormat is not thread-safe. */
opendj3-server-dev/src/server/org/opends/server/loggers/LoggingCategoryNames.java
@@ -66,7 +66,7 @@
    // The category used for messages associated with
    // connection and protocol handling (e.g., ASN.1 and LDAP).
    NAMES.put("org.opends.server.protocol", "PROTOCOL");
    NAMES.put("org.forgerock.opendj.ldap.io", "PROTOCOL");
    NAMES.put("org.forgerock.opendj.io", "PROTOCOL");
    // The category used for messages associated with configuration handling.
    NAMES.put("org.opends.server.config", "CONFIG");
opendj3-server-dev/src/server/org/opends/server/tools/BackUpDB.java
@@ -52,6 +52,7 @@
import org.opends.server.loggers.DebugLogger;
import org.opends.server.loggers.ErrorLogPublisher;
import org.opends.server.loggers.ErrorLogger;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.loggers.TextDebugLogPublisher;
import org.opends.server.loggers.TextErrorLogPublisher;
import org.opends.server.loggers.TextWriter;
@@ -157,6 +158,7 @@
  {
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    // Create the command-line argument parser for use with this program.
    LDAPConnectionArgumentParser argParser =
opendj3-server-dev/src/server/org/opends/server/tools/ConfigureDS.java
@@ -54,6 +54,7 @@
import org.opends.server.core.LockFileManager;
import org.opends.server.extensions.ConfigFileHandler;
import org.opends.server.extensions.SaltedSHA512PasswordStorageScheme;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.DN;
@@ -64,6 +65,7 @@
import org.opends.server.types.NullOutputStream;
import org.opends.server.util.LDIFReader;
import org.opends.server.util.SetupUtils;
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.ArgumentParser;
import com.forgerock.opendj.cli.BooleanArgument;
@@ -171,8 +173,6 @@
    }
  }
  /**
   * Parses the provided command-line arguments and makes the appropriate
   * changes to the Directory Server configuration.
@@ -209,6 +209,8 @@
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    LocalizableMessage toolDescription = INFO_CONFIGDS_TOOL_DESCRIPTION.get();
    ArgumentParser argParser = new ArgumentParser(CLASS_NAME, toolDescription,
                                                  false);
opendj3-server-dev/src/server/org/opends/server/tools/ConfigureWindowsService.java
@@ -38,9 +38,11 @@
import org.opends.quicksetup.util.Utils;
import org.opends.server.core.DirectoryServer;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.types.NullOutputStream;
import org.opends.server.util.DynamicConstants;
import org.opends.server.util.SetupUtils;
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.ArgumentParser;
import com.forgerock.opendj.cli.BooleanArgument;
@@ -197,6 +199,7 @@
    int returnValue = 0;
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
//  Define all the arguments that may be used with this program.
    LocalizableMessage toolDescription =
opendj3-server-dev/src/server/org/opends/server/tools/CreateRCScript.java
@@ -35,11 +35,13 @@
import org.forgerock.i18n.LocalizableMessage;
import org.opends.server.core.DirectoryServer;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.types.FilePermission;
import org.opends.server.types.NullOutputStream;
import org.opends.server.types.OperatingSystem;
import org.opends.server.util.EmbeddedUtils;
import org.opends.server.util.SetupUtils;
import com.forgerock.opendj.cli.ArgumentParser;
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.BooleanArgument;
@@ -97,6 +99,7 @@
                         OutputStream errStream)
  {
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    EmbeddedUtils.initializeForClientUse();
opendj3-server-dev/src/server/org/opends/server/tools/DBTest.java
@@ -41,12 +41,13 @@
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.LockFileManager;
import org.opends.server.extensions.ConfigFileHandler;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.types.*;
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.ByteStringBuilder;
import org.opends.server.util.BuildVersion;
import org.opends.server.util.StaticUtils;
import com.forgerock.opendj.cli.Argument;
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.BooleanArgument;
@@ -54,6 +55,7 @@
import com.forgerock.opendj.cli.StringArgument;
import com.forgerock.opendj.cli.SubCommand;
import com.forgerock.opendj.cli.SubCommandArgumentParser;
import org.opends.server.util.table.TableBuilder;
import org.opends.server.util.table.TextTablePrinter;
@@ -72,8 +74,6 @@
 */
public class DBTest
{
  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
  /** The error stream which this application should use. */
  private final PrintStream err;
@@ -160,6 +160,7 @@
  {
    this.out = NullOutputStream.wrapOrNullStream(out);
    this.err = NullOutputStream.wrapOrNullStream(err);
    JDKLogging.disableLogging();
    LocalizableMessage toolDescription = INFO_DESCRIPTION_DBTEST_TOOL.get();
    this.parser = new SubCommandArgumentParser(this.getClass().getName(),
@@ -385,7 +386,6 @@
    }
    catch (InitializationException e)
    {
      logger.traceException(e);
      printMessage(e.getMessageObject());
      return 1;
    }
@@ -562,7 +562,6 @@
        return 0;
      }
    } catch (Exception e) {
      logger.traceException(e);
      printMessage(LocalizableMessage.raw(StaticUtils.stackTraceToString(e)));
      return 1;
    }
@@ -985,12 +984,12 @@
          if(dc instanceof Index)
          {
            builder.appendCell(ec.getState().getIndexTrustState(null,
                                                                ((Index)dc)));
                                                                (dc)));
          }
          else if(dc instanceof VLVIndex)
          {
            builder.appendCell(ec.getState().getIndexTrustState(null,
                                                               ((VLVIndex)dc)));
                                                               (dc)));
          }
          builder.appendCell(dc.getRecordCount());
@@ -1718,8 +1717,7 @@
    ArrayList<Backend> backendList = new ArrayList<Backend>();
    ArrayList<BackendCfg>  entryList   = new ArrayList<BackendCfg>();
    ArrayList<List<DN>> dnList = new ArrayList<List<DN>>();
    int code = BackendToolUtils.getBackends(backendList, entryList, dnList);
    // TODO: Throw error if return code is not 0
    BackendToolUtils.getBackends(backendList, entryList, dnList);
    LinkedHashMap<LocalDBBackendCfg, BackendImpl> jeBackends =
        new LinkedHashMap<LocalDBBackendCfg, BackendImpl>();
opendj3-server-dev/src/server/org/opends/server/tools/EncodePassword.java
@@ -52,12 +52,13 @@
import org.opends.server.core.PasswordStorageSchemeConfigManager;
import org.opends.server.crypto.CryptoManagerSync;
import org.opends.server.extensions.ConfigFileHandler;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.schema.AuthPasswordSyntax;
import org.opends.server.schema.UserPasswordSyntax;
import org.opends.server.types.*;
import org.forgerock.opendj.ldap.ByteString;
import org.opends.server.util.BuildVersion;
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.ArgumentParser;
import com.forgerock.opendj.cli.BooleanArgument;
@@ -81,9 +82,6 @@
 */
public class EncodePassword
{
  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
  /**
   * Processes the command-line arguments and performs the requested action.
   *
@@ -135,6 +133,7 @@
  {
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    // Define the command-line arguments that may be used with this program.
    BooleanArgument   authPasswordSyntax   = null;
@@ -798,8 +797,6 @@
    return SUCCESS;
  }
  private static LocalizableMessage getOutputMessage(boolean passwordMatches)
  {
    if (passwordMatches)
@@ -851,7 +848,7 @@
          HashSet<PluginType> pluginTypes = new HashSet<PluginType>(1);
          directoryServer.initializePlugins(pluginTypes);
          //Initialize Trust Backend.
          initializeServerBackends(directoryServer);
          initializeServerBackends(directoryServer, err);
          // Initialize the subentry manager.
          directoryServer.initializeSubentryManager();
          //Initialize PWD policy components.
@@ -872,7 +869,7 @@
    return true;
  }
  private static void initializeServerBackends(DirectoryServer directoryServer)
  private static void initializeServerBackends(DirectoryServer directoryServer, PrintStream err)
  throws InitializationException, ConfigException {
    directoryServer.initializeRootDSE();
    ServerManagementContext context = ServerManagementContext.getInstance();
@@ -882,7 +879,6 @@
      DN configEntryDN = DN.valueOf(ConfigConstants.DN_BACKEND_BASE);
      backendRoot   = DirectoryServer.getConfigEntry(configEntryDN);
    } catch (Exception e) {
      logger.traceException(e);
      LocalizableMessage message = ERR_CONFIG_BACKEND_CANNOT_GET_CONFIG_BASE.get(
          getExceptionMessage(e));
      throw new ConfigException(message, e);
@@ -904,9 +900,9 @@
            backendClass = DirectoryServer.loadClass(className);
            backend = (Backend) backendClass.newInstance();
          } catch (Exception e) {
            logger.traceException(e);
            logger.error(ERR_CONFIG_BACKEND_CANNOT_INSTANTIATE, className, backendCfg.dn(),
                  stackTraceToSingleLineString(e));
            LocalizableMessage msg = ERR_CONFIG_BACKEND_CANNOT_INSTANTIATE.get(className, backendCfg.dn(),
                stackTraceToSingleLineString(e));
            err.println(wrapText(msg, MAX_LINE_WIDTH));
            continue;
          }
          backend.setBackendID(backendID);
@@ -915,17 +911,17 @@
            backend.configureBackend(backendCfg);
            backend.initializeBackend();
          } catch (Exception e) {
            logger.traceException(e);
            logger.error(ERR_CONFIG_BACKEND_CANNOT_INITIALIZE, className, backendCfg.dn(),
            LocalizableMessage msg = ERR_CONFIG_BACKEND_CANNOT_INITIALIZE.get(className, backendCfg.dn(),
                  stackTraceToSingleLineString(e));
            err.println(wrapText(msg, MAX_LINE_WIDTH));
          }
          try {
            DirectoryServer.registerBackend(backend);
          } catch (Exception e)
          {
            logger.traceException(e);
            logger.warn(WARN_CONFIG_BACKEND_CANNOT_REGISTER_BACKEND, backendCfg.getBackendId(),
            LocalizableMessage msg = WARN_CONFIG_BACKEND_CANNOT_REGISTER_BACKEND.get(backendCfg.getBackendId(),
                  getExceptionMessage(e));
            err.println(wrapText(msg, MAX_LINE_WIDTH));
          }
        }
      }
opendj3-server-dev/src/server/org/opends/server/tools/ExportLDIF.java
@@ -48,6 +48,7 @@
import org.opends.server.loggers.DebugLogPublisher;
import org.opends.server.loggers.DebugLogger;
import org.opends.server.loggers.ErrorLogPublisher;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.loggers.TextDebugLogPublisher;
import org.opends.server.loggers.TextWriter;
import org.opends.server.loggers.TextErrorLogPublisher;
@@ -87,7 +88,6 @@
  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
  /**
   * The main method for ExportLDIF tool.
   *
@@ -160,6 +160,7 @@
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    // Create the command-line argument parser for use with this program.
    LDAPConnectionArgumentParser argParser =
@@ -306,7 +307,6 @@
    catch (ArgumentException ae)
    {
      LocalizableMessage message = ERR_CANNOT_INITIALIZE_ARGS.get(ae.getMessage());
      err.println(wrapText(message, MAX_LINE_WIDTH));
      return 1;
    }
@@ -331,7 +331,6 @@
    catch (ArgumentException ae)
    {
      LocalizableMessage message = ERR_ERROR_PARSING_ARGS.get(ae.getMessage());
      err.println(wrapText(message, MAX_LINE_WIDTH));
      err.println(argParser.getUsage());
      return 1;
opendj3-server-dev/src/server/org/opends/server/tools/ImportLDIF.java
@@ -57,6 +57,7 @@
import org.opends.server.extensions.ConfigFileHandler;
import org.opends.server.loggers.ErrorLogPublisher;
import org.opends.server.loggers.ErrorLogger;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.loggers.TextErrorLogPublisher;
import org.opends.server.loggers.TextWriter;
import org.opends.server.protocols.ldap.LDAPAttribute;
@@ -184,6 +185,7 @@
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    // FIXME -- Need to add a mechanism for verifying the file signature.
opendj3-server-dev/src/server/org/opends/server/tools/JavaPropertiesTool.java
@@ -35,6 +35,7 @@
import org.opends.messages.ToolMessages;
import org.opends.quicksetup.Constants;
import org.opends.quicksetup.util.Utils;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.types.NullOutputStream;
import org.opends.server.util.cli.ConsoleApplication;
@@ -175,6 +176,8 @@
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    JavaPropertiesTool tool = new JavaPropertiesTool(out, err, inStream);
    return tool.execute(args);
opendj3-server-dev/src/server/org/opends/server/tools/LDAPCompare.java
@@ -40,7 +40,6 @@
import org.opends.admin.ads.util.ConnectionUtils;
import org.forgerock.i18n.LocalizableMessage;
import org.opends.server.controls.LDAPAssertionRequestControl;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.ldap.DecodeException;
import org.opends.server.protocols.ldap.CompareRequestProtocolOp;
import org.opends.server.protocols.ldap.CompareResponseProtocolOp;
@@ -52,6 +51,7 @@
import org.opends.server.util.Base64;
import org.opends.server.util.EmbeddedUtils;
import org.opends.server.util.PasswordReader;
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.ArgumentParser;
import com.forgerock.opendj.cli.BooleanArgument;
@@ -72,8 +72,6 @@
 */
public class LDAPCompare
{
  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
  /**
   * The fully-qualified name of this class.
   */
@@ -250,7 +248,6 @@
        responseMessage = connection.getLDAPReader().readMessage();
      } catch(DecodeException ae)
      {
        logger.traceException(ae);
        if (!compareOptions.continueOnError())
        {
          String message = LDAPToolUtils.getMessageForConnectionException(ae);
@@ -752,11 +749,10 @@
        }
        catch (ParseException e)
        {
          logger.traceException(e);
          err.println(wrapText(
                  INFO_COMPARE_CANNOT_BASE64_DECODE_ASSERTION_VALUE.get(),
                  MAX_LINE_WIDTH));
          err.println(wrapText(e.getLocalizedMessage(), MAX_LINE_WIDTH));
          return CLIENT_SIDE_PARAM_ERROR;
        }
      } else if(nextChar == '<')
@@ -790,7 +786,6 @@
      portNumber = port.getIntValue();
    } catch (ArgumentException ae)
    {
      logger.traceException(ae);
      err.println(wrapText(ae.getMessage(), MAX_LINE_WIDTH));
      return CLIENT_SIDE_PARAM_ERROR;
    }
@@ -806,7 +801,6 @@
      connectionOptions.setVersionNumber(versionNumber);
    } catch(ArgumentException ae)
    {
      logger.traceException(ae);
      err.println(wrapText(ae.getMessage(), MAX_LINE_WIDTH));
      return CLIENT_SIDE_PARAM_ERROR;
    }
@@ -838,7 +832,6 @@
        bindPasswordValue = new String(pwChars);
      } catch(Exception ex)
      {
        logger.traceException(ex);
        err.println(wrapText(ex.getMessage(), MAX_LINE_WIDTH));
        return CLIENT_SIDE_PARAM_ERROR;
      }
@@ -1009,7 +1002,6 @@
        }
        catch (Throwable t)
        {
          logger.traceException(t);
          String details = t.getMessage();
          if (details == null)
          {
@@ -1040,7 +1032,6 @@
      return SUCCESS;
    } catch(LDAPException le)
    {
      logger.traceException(le);
      LDAPToolUtils.printErrorMessage(
              err, le.getMessageObject(),
              le.getResultCode(),
@@ -1050,7 +1041,6 @@
      return code;
    } catch(LDAPConnectionException lce)
    {
      logger.traceException(lce);
      LDAPToolUtils.printErrorMessage(err,
                                      lce.getMessageObject(),
                                      lce.getResultCode(),
@@ -1060,7 +1050,6 @@
      return code;
    } catch(Exception e)
    {
      logger.traceException(e);
      err.println(wrapText(e.getMessage(), MAX_LINE_WIDTH));
      return OPERATIONS_ERROR;
    } finally
opendj3-server-dev/src/server/org/opends/server/tools/LDAPConnection.java
@@ -34,8 +34,7 @@
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.logging.ConsoleHandler;
import java.util.logging.Logger;
import java.util.logging.Level;
import org.forgerock.i18n.LocalizableMessage;
import org.opends.server.controls.AuthorizationIdentityResponseControl;
@@ -43,7 +42,7 @@
import org.opends.server.controls.PasswordPolicyErrorType;
import org.opends.server.controls.PasswordPolicyResponseControl;
import org.opends.server.controls.PasswordPolicyWarningType;
import org.opends.server.loggers.JdkLoggingFormater;
import org.opends.server.loggers.JDKLogging;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.opends.server.protocols.ldap.ExtendedRequestProtocolOp;
import org.opends.server.protocols.ldap.ExtendedResponseProtocolOp;
@@ -182,13 +181,15 @@
    ArrayList<Control> requestControls = new ArrayList<Control> ();
    ArrayList<Control> responseControls = new ArrayList<Control> ();
    if(connectionOptions.isVerbose())
    if (connectionOptions.isVerbose())
    {
      Logger logger = Logger.getLogger("org.opends");
      ConsoleHandler handler = new ConsoleHandler();
      handler.setFormatter(new JdkLoggingFormater());
      logger.addHandler(handler);
      JDKLogging.enableConsoleLoggingForOpenDJ(Level.ALL);
    }
    else
    {
      JDKLogging.disableLogging();
    }
    if(connectionOptions.useStartTLS())
    {
opendj3-server-dev/src/server/org/opends/server/tools/LDAPDelete.java
@@ -284,7 +284,6 @@
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    LDAPConnectionOptions connectionOptions = new LDAPConnectionOptions();
    LDAPDeleteOptions deleteOptions = new LDAPDeleteOptions();
    LDAPConnection connection = null;
opendj3-server-dev/src/server/org/opends/server/tools/LDIFDiff.java
@@ -42,6 +42,7 @@
import org.forgerock.i18n.LocalizableMessage;
import org.opends.server.core.DirectoryServer;
import org.opends.server.extensions.ConfigFileHandler;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.types.Attribute;
import org.opends.server.types.AttributeBuilder;
import org.opends.server.types.AttributeType;
@@ -60,6 +61,7 @@
import org.opends.server.util.LDIFReader;
import org.opends.server.util.LDIFWriter;
import org.opends.server.util.StaticUtils;
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.ArgumentParser;
import com.forgerock.opendj.cli.BooleanArgument;
@@ -147,6 +149,7 @@
  {
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    BooleanArgument overwriteExisting;
    BooleanArgument showUsage;
opendj3-server-dev/src/server/org/opends/server/tools/LDIFModify.java
@@ -40,6 +40,7 @@
import org.forgerock.i18n.LocalizableMessage;
import org.opends.server.core.DirectoryServer;
import org.opends.server.extensions.ConfigFileHandler;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.Attribute;
import org.opends.server.types.AttributeType;
@@ -64,6 +65,7 @@
import org.opends.server.util.LDIFReader;
import org.opends.server.util.LDIFWriter;
import org.opends.server.util.ModifyChangeRecordEntry;
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.ArgumentParser;
import com.forgerock.opendj.cli.BooleanArgument;
@@ -419,6 +421,7 @@
                                   OutputStream errStream)
  {
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    // Prepare the argument parser.
    BooleanArgument showUsage;
opendj3-server-dev/src/server/org/opends/server/tools/LDIFSearch.java
@@ -37,6 +37,7 @@
import org.forgerock.i18n.LocalizableMessage;
import org.opends.server.core.DirectoryServer;
import org.opends.server.extensions.ConfigFileHandler;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.*;
import org.opends.server.util.BuildVersion;
@@ -136,6 +137,7 @@
  {
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    LinkedHashSet<String> scopeStrings = new LinkedHashSet<String>(4);
    scopeStrings.add(SCOPE_STRING_BASE);
opendj3-server-dev/src/server/org/opends/server/tools/ListBackends.java
@@ -29,6 +29,7 @@
import java.io.OutputStream;
import java.io.PrintStream;
import java.util.Iterator;
@@ -42,15 +43,18 @@
import org.opends.server.config.StringConfigAttribute;
import org.opends.server.core.DirectoryServer;
import org.opends.server.extensions.ConfigFileHandler;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.DN;
import org.opends.server.types.InitializationException;
import org.opends.server.types.NullOutputStream;
import org.opends.server.util.BuildVersion;
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.ArgumentParser;
import com.forgerock.opendj.cli.BooleanArgument;
import com.forgerock.opendj.cli.StringArgument;
import org.opends.server.util.table.TableBuilder;
import org.opends.server.util.table.TextTablePrinter;
@@ -124,6 +128,7 @@
  {
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    // Define the command-line arguments that may be used with this program.
    BooleanArgument displayUsage = null;
opendj3-server-dev/src/server/org/opends/server/tools/ManageAccount.java
@@ -40,12 +40,14 @@
import org.forgerock.i18n.LocalizableMessage;
import org.opends.server.admin.AdministrationConnector;
import org.forgerock.opendj.io.*;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.protocols.ldap.ExtendedRequestProtocolOp;
import org.opends.server.protocols.ldap.ExtendedResponseProtocolOp;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.NullOutputStream;
import org.forgerock.opendj.ldap.ByteStringBuilder;
import com.forgerock.opendj.cli.Argument;
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.BooleanArgument;
@@ -55,13 +57,16 @@
import com.forgerock.opendj.cli.StringArgument;
import com.forgerock.opendj.cli.SubCommand;
import com.forgerock.opendj.cli.SubCommandArgumentParser;
import org.opends.server.util.args.LDAPConnectionArgumentParser;
import static org.opends.server.extensions.
                   PasswordPolicyStateExtendedOperation.*;
import static org.opends.messages.ToolMessages.*;
import static org.opends.server.tools.ToolConstants.*;
import org.opends.server.util.EmbeddedUtils;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
@@ -536,6 +541,7 @@
  {
    out = NullOutputStream.wrapOrNullStream(outStream);
    err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    // Parse the command-line arguments provided to the program.
    int result = parseArgsAndConnect(args, initServer);
opendj3-server-dev/src/server/org/opends/server/tools/ManageTasks.java
@@ -33,8 +33,6 @@
import org.opends.server.config.ConfigException;
import org.opends.server.core.DirectoryServer;
import org.opends.server.loggers.ErrorLogPublisher;
import org.opends.server.loggers.ErrorLogger;
import org.forgerock.opendj.ldap.DecodeException;
import static org.opends.server.tools.ToolConstants.*;
@@ -79,8 +77,6 @@
 */
public class ManageTasks extends ConsoleApplication {
  private static ErrorLogPublisher errorLogPublisher = null;
  // This CLI is always using the administration connector with SSL
  private static final boolean alwaysSSL = true;
@@ -92,10 +88,6 @@
  public static void main(String[] args) {
    int retCode = mainTaskInfo(args, System.in, System.out, System.err);
    if (errorLogPublisher != null) {
      ErrorLogger.getInstance().removeLogPublisher(errorLogPublisher);
    }
    if (retCode != 0) {
      System.exit(filterExitCode(retCode));
    }
opendj3-server-dev/src/server/org/opends/server/tools/RebuildIndex.java
@@ -47,6 +47,7 @@
import org.opends.server.loggers.DebugLogPublisher;
import org.opends.server.loggers.DebugLogger;
import org.opends.server.loggers.ErrorLogPublisher;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.loggers.TextDebugLogPublisher;
import org.opends.server.loggers.TextWriter;
import org.opends.server.loggers.ErrorLogger;
@@ -144,6 +145,7 @@
  {
    final PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    final PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    // Initialize all the command-line argument types and register them with the
    // parser.
opendj3-server-dev/src/server/org/opends/server/tools/RestoreDB.java
@@ -50,6 +50,7 @@
import org.opends.server.loggers.DebugLogPublisher;
import org.opends.server.loggers.DebugLogger;
import org.opends.server.loggers.ErrorLogPublisher;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.loggers.TextDebugLogPublisher;
import org.opends.server.loggers.TextWriter;
import org.opends.server.loggers.ErrorLogger;
@@ -151,6 +152,7 @@
  {
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    // Create the command-line argument parser for use with this program.
    LDAPConnectionArgumentParser argParser =
opendj3-server-dev/src/server/org/opends/server/tools/StartWindowsService.java
@@ -31,6 +31,7 @@
import java.io.OutputStream;
import java.io.PrintStream;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.types.NullOutputStream;
import org.opends.server.util.SetupUtils;
@@ -84,8 +85,9 @@
                           OutputStream errStream)
  {
    int returnValue;
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    String serviceName = ConfigureWindowsService.getServiceName();
    if (serviceName == null)
opendj3-server-dev/src/server/org/opends/server/tools/StopDS.java
@@ -46,6 +46,7 @@
import org.opends.server.controls.ProxiedAuthV2Control;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.LockFileManager;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.protocols.ldap.AddRequestProtocolOp;
import org.opends.server.protocols.ldap.AddResponseProtocolOp;
import org.opends.server.protocols.ldap.ExtendedResponseProtocolOp;
@@ -182,7 +183,7 @@
  {
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    // Define all the arguments that may be used with this program.
    LocalizableMessage toolDescription = INFO_STOPDS_TOOL_DESCRIPTION.get();
opendj3-server-dev/src/server/org/opends/server/tools/StopWindowsService.java
@@ -31,6 +31,7 @@
import java.io.OutputStream;
import java.io.PrintStream;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.types.NullOutputStream;
import org.opends.server.util.SetupUtils;
@@ -83,8 +84,9 @@
                           OutputStream errStream)
  {
    int returnValue;
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    String serviceName = ConfigureWindowsService.getServiceName();
    if (serviceName == null)
opendj3-server-dev/src/server/org/opends/server/tools/VerifyIndex.java
@@ -28,8 +28,19 @@
import static org.opends.messages.ToolMessages.*;
import static org.opends.server.tools.ToolConstants.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
import java.io.OutputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;
import org.forgerock.i18n.LocalizableMessage;
import org.opends.server.admin.std.server.BackendCfg;
import org.opends.server.api.Backend;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.opends.server.backends.jeb.BackendImpl;
import org.opends.server.backends.jeb.VerifyConfig;
import org.opends.server.config.ConfigException;
@@ -37,15 +48,11 @@
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.LockFileManager;
import org.opends.server.extensions.ConfigFileHandler;
import org.opends.server.loggers.DebugLogPublisher;
import org.opends.server.loggers.DebugLogger;
import org.opends.server.loggers.ErrorLogPublisher;
import org.opends.server.loggers.TextDebugLogPublisher;
import org.opends.server.loggers.TextWriter;
import org.opends.server.loggers.ErrorLogger;
import org.opends.server.loggers.TextErrorLogPublisher;
import org.opends.server.loggers.TraceSettings;
import org.opends.server.types.*;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.types.DN;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.InitializationException;
import org.opends.server.types.NullOutputStream;
import org.opends.server.util.BuildVersion;
import com.forgerock.opendj.cli.ArgumentException;
@@ -53,21 +60,6 @@
import com.forgerock.opendj.cli.BooleanArgument;
import com.forgerock.opendj.cli.StringArgument;
import java.io.OutputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;
import static org.opends.messages.ToolMessages.*;
import org.forgerock.i18n.LocalizableMessage;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
import static org.opends.server.tools.ToolConstants.*;
import org.opends.server.admin.std.server.BackendCfg;
/**
 * This program provides a utility to verify the contents of the indexes
@@ -78,8 +70,6 @@
public class VerifyIndex
{
  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
  /**
   * Processes the command-line arguments and invokes the verify process.
   *
@@ -114,6 +104,7 @@
  {
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    // Define the command-line arguments that may be used with this program.
    StringArgument  configClass             = null;
@@ -367,29 +358,8 @@
        err.println(wrapText(message, MAX_LINE_WIDTH));
        return 1;
      }
      try
      {
        ErrorLogPublisher errorLogPublisher =
            TextErrorLogPublisher.getToolStartupTextErrorPublisher(
            new TextWriter.STREAM(out));
        DebugLogPublisher debugLogPublisher =
            TextDebugLogPublisher.getStartupTextDebugPublisher(
            new TextWriter.STREAM(out));
        debugLogPublisher.addTraceSettings(null,
            new TraceSettings());
        ErrorLogger.getInstance().addLogPublisher(errorLogPublisher);
        DebugLogger.getInstance().addLogPublisher(debugLogPublisher);
      }
      catch(Exception e)
      {
        err.println("Error installing the custom error logger: " +
                    stackTraceToSingleLineString(e));
      }
    }
    // Decode the base DN provided by the user.
    DN verifyBaseDN ;
    try
@@ -398,12 +368,14 @@
    }
    catch (DirectoryException de)
    {
      logger.error(ERR_CANNOT_DECODE_BASE_DN, baseDNString.getValue(), de.getMessageObject());
      err.println(wrapText(ERR_CANNOT_DECODE_BASE_DN.get(baseDNString.getValue(),
          de.getMessageObject()), MAX_LINE_WIDTH));
      return 1;
    }
    catch (Exception e)
    {
      logger.error(ERR_CANNOT_DECODE_BASE_DN, baseDNString.getValue(), getExceptionMessage(e));
      err.println(wrapText(ERR_CANNOT_DECODE_BASE_DN.get(baseDNString.getValue(),
          getExceptionMessage(e)), MAX_LINE_WIDTH));
      return 1;
    }
@@ -433,7 +405,7 @@
          }
          else
          {
            logger.error(ERR_MULTIPLE_BACKENDS_FOR_BASE, baseDNString.getValue());
            err.println(wrapText(ERR_MULTIPLE_BACKENDS_FOR_BASE.get(baseDNString.getValue()), MAX_LINE_WIDTH));
            return 1;
          }
          break;
@@ -443,13 +415,13 @@
    if (backend == null)
    {
      logger.error(ERR_NO_BACKENDS_FOR_BASE, baseDNString.getValue());
      err.println(wrapText(ERR_NO_BACKENDS_FOR_BASE.get(baseDNString.getValue()), MAX_LINE_WIDTH));
      return 1;
    }
    if (!(backend instanceof BackendImpl))
    {
      logger.error(ERR_BACKEND_NO_INDEXING_SUPPORT);
      err.println(wrapText(ERR_BACKEND_NO_INDEXING_SUPPORT.get(), MAX_LINE_WIDTH));
      return 1;
    }
@@ -479,13 +451,15 @@
      StringBuilder failureReason = new StringBuilder();
      if (! LockFileManager.acquireSharedLock(lockFile, failureReason))
      {
        logger.error(ERR_VERIFYINDEX_CANNOT_LOCK_BACKEND, backend.getBackendID(), failureReason);
        err.println(wrapText(ERR_VERIFYINDEX_CANNOT_LOCK_BACKEND.get(backend.getBackendID(),
            failureReason), MAX_LINE_WIDTH));
        return 1;
      }
    }
    catch (Exception e)
    {
      logger.error(ERR_VERIFYINDEX_CANNOT_LOCK_BACKEND, backend.getBackendID(), getExceptionMessage(e));
      err.println(wrapText(ERR_VERIFYINDEX_CANNOT_LOCK_BACKEND.get(backend.getBackendID(),
          getExceptionMessage(e)), MAX_LINE_WIDTH));
      return 1;
    }
@@ -510,7 +484,8 @@
    }
    catch (Exception e)
    {
      logger.error(ERR_VERIFYINDEX_ERROR_DURING_VERIFY, stackTraceToSingleLineString(e));
      err.println(wrapText(ERR_VERIFYINDEX_ERROR_DURING_VERIFY.get(stackTraceToSingleLineString(e)),
          MAX_LINE_WIDTH));
      returnCode = 1;
    }
@@ -522,14 +497,17 @@
      StringBuilder failureReason = new StringBuilder();
      if (! LockFileManager.releaseLock(lockFile, failureReason))
      {
        logger.warn(WARN_VERIFYINDEX_CANNOT_UNLOCK_BACKEND, backend.getBackendID(), failureReason);
        err.println(wrapText(WARN_VERIFYINDEX_CANNOT_UNLOCK_BACKEND.get(backend.getBackendID(),
            failureReason), MAX_LINE_WIDTH));
      }
    }
    catch (Exception e)
    {
      logger.warn(WARN_VERIFYINDEX_CANNOT_UNLOCK_BACKEND, backend.getBackendID(), getExceptionMessage(e));
      err.println(wrapText(WARN_VERIFYINDEX_CANNOT_UNLOCK_BACKEND.get(backend.getBackendID(),
          getExceptionMessage(e)), MAX_LINE_WIDTH));
    }
    return returnCode;
  }
}
opendj3-server-dev/src/server/org/opends/server/tools/WaitForFileDelete.java
@@ -30,6 +30,7 @@
import org.forgerock.i18n.LocalizableMessage;
import org.opends.server.core.DirectoryServer;
import org.opends.server.loggers.JDKLogging;
import org.opends.server.types.NullOutputStream;
import org.opends.server.util.cli.ConsoleApplication;
@@ -126,6 +127,7 @@
    int exitCode;
    PrintStream out = NullOutputStream.wrapOrNullStream(outStream);
    PrintStream err = NullOutputStream.wrapOrNullStream(errStream);
    JDKLogging.disableLogging();
    try
    {
      WaitForFileDelete wffd = new WaitForFileDelete(out, err, System.in);
opendj3-server-dev/src/server/org/opends/server/tools/dsconfig/DSConfig.java
@@ -67,7 +67,6 @@
import org.opends.server.admin.client.ManagedObjectDecodingException;
import org.opends.server.admin.client.MissingMandatoryPropertiesException;
import org.opends.server.admin.client.OperationRejectedException;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.opends.server.tools.ClientException;
import org.opends.server.types.InitializationException;
import org.opends.server.util.BuildVersion;
@@ -287,7 +286,6 @@
   * customization.
   */
  public static final String GENERIC_TYPE = "generic";
  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
  // This CLI is always using the administration connector with SSL
  private static final boolean alwaysSSL = true;
@@ -1025,7 +1023,6 @@
      return 1;
    } catch (Exception e) {
      logger.traceException(e);
      println(LocalizableMessage.raw(StaticUtils.stackTraceToString(e)));
      return 1;
    }