opendj-sdk/opendj3-server-dev/src/server/org/opends/server/core/DirectoryServer.java
@@ -74,8 +74,6 @@ import org.opends.server.extensions.ConfigFileHandler; import org.opends.server.extensions.JMXAlertHandler; import org.opends.server.loggers.*; import org.opends.server.loggers.DebugLogPublisher; import org.opends.server.loggers.ErrorLogPublisher; import org.forgerock.i18n.slf4j.LocalizedLogger; import org.opends.server.monitors.BackendMonitor; import org.opends.server.monitors.ConnectionHandlerMonitor; @@ -87,11 +85,13 @@ import org.opends.server.util.*; import org.forgerock.util.Reject; import org.forgerock.util.Utils; import com.forgerock.opendj.cli.ArgumentException; import com.forgerock.opendj.cli.ArgumentParser; import com.forgerock.opendj.cli.BooleanArgument; import com.forgerock.opendj.cli.IntegerArgument; import com.forgerock.opendj.cli.StringArgument; import org.opends.server.workflowelement.WorkflowElement; import org.opends.server.workflowelement.WorkflowElementConfigManager; import org.opends.server.workflowelement.localbackend.*; @@ -9188,14 +9188,11 @@ // Install the default loggers so the startup messages // will be printed. ErrorLogPublisher startupErrorLogPublisher = TextErrorLogPublisher.getServerStartupTextErrorPublisher( new TextWriter.STDOUT()); TextErrorLogPublisher.getServerStartupTextErrorPublisher(new TextWriter.STDOUT()); ErrorLogger.getInstance().addLogPublisher(startupErrorLogPublisher); DebugLogPublisher startupDebugLogPublisher = TextDebugLogPublisher.getStartupTextDebugPublisher(new TextWriter.STDOUT()); DebugLogger.getInstance().addLogPublisher(startupDebugLogPublisher); DebugLogger.getInstance().addPublisherIfRequired(new TextWriter.STDOUT()); // Create an environment configuration for the server and populate a number // of appropriate properties. @@ -9269,8 +9266,11 @@ } ErrorLogger.getInstance().removeLogPublisher(startupErrorLogPublisher); if (startupDebugLogPublisher != null) { DebugLogger.getInstance().removeLogPublisher(startupDebugLogPublisher); } } /** * Construct the DN of a monitor provider entry. opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/DebugLogger.java
@@ -27,8 +27,11 @@ package org.opends.server.loggers; import static org.opends.messages.ConfigMessages.*; import static org.opends.server.util.ServerConstants.*; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -149,6 +152,47 @@ return tracer; } /** * Adds a text debug log publisher that will print all messages to the * provided writer, based on debug target(s) defined through system * properties. * <p> * It is expected that one or more system properties beginning with * {@code PROPERTY_DEBUG_TARGET} are set to define the properties of the debug * targets used by the publisher, otherwise no publisher is added. * * @param writer * The text writer where the message will be written to. * @return the publisher. It may be {@code null} if no publisher is added. */ @SuppressWarnings({ "unchecked", "rawtypes" }) public final TextDebugLogPublisher addPublisherIfRequired(TextWriter writer) { final List<String> debugTargets = getDebugTargetsFromSystemProperties(); TextDebugLogPublisher publisher = null; if (!debugTargets.isEmpty()) { publisher = TextDebugLogPublisher.getStartupTextDebugPublisher(debugTargets, writer); if (publisher != null) { addLogPublisher((DebugLogPublisher) publisher); } } return publisher; } private List<String> getDebugTargetsFromSystemProperties() { final List<String> targets = new ArrayList<String>(); for (Map.Entry<Object, Object> entry : System.getProperties().entrySet()) { if (((String) entry.getKey()).startsWith(PROPERTY_DEBUG_TARGET)) { targets.add((String)entry.getValue()); } } return targets; } /** {@inheritDoc} */ @Override public final synchronized void addLogPublisher( opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/TextDebugLogPublisher.java
@@ -31,7 +31,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; import org.forgerock.i18n.LocalizableMessage; import org.opends.server.admin.server.ConfigurationAddListener; @@ -52,7 +51,6 @@ import org.opends.server.util.TimeThread; import static org.opends.messages.ConfigMessages.*; import static org.opends.server.util.ServerConstants.*; import static org.opends.server.util.StaticUtils.*; /** @@ -73,46 +71,39 @@ private FileBasedDebugLogPublisherCfg currentConfig; /** * Returns an instance of the text debug log publisher that will print * all messages to the provided writer. This is used to print the messages * to the console when the server starts up. By default, only error level * messages are printed. Special debug targets are also parsed from * system properties if any are specified. * Returns an instance of the text debug log publisher that will print all * messages to the provided writer, based on the provided debug targets. * * @param writer The text writer where the message will be written to. * @return The instance of the text error log publisher that will print * all messages to standard out. * @param debugTargets * The targets defining which and how debug events are logged. * @param writer * The text writer where the message will be written to. * @return The instance of the text error log publisher that will print all * messages to standard out. May be {@code null} if no debug target is * valid. */ public static TextDebugLogPublisher getStartupTextDebugPublisher(TextWriter writer) static TextDebugLogPublisher getStartupTextDebugPublisher(List<String> debugTargets, TextWriter writer) { TextDebugLogPublisher startupPublisher = new TextDebugLogPublisher(); startupPublisher.writer = writer; Set<Map.Entry<Object, Object>> propertyEntries = System.getProperties().entrySet(); for(Map.Entry<Object, Object> entry : propertyEntries) TextDebugLogPublisher startupPublisher = null; for (String value : debugTargets) { if(((String)entry.getKey()).startsWith(PROPERTY_DEBUG_TARGET)) { String value = (String)entry.getValue(); int settingsStart= value.indexOf(":"); //See if the scope and settings exists if(settingsStart > 0) { String scope = value.substring(0, settingsStart); TraceSettings settings = TraceSettings.parseTraceSettings( value.substring(settingsStart+1)); TraceSettings settings = TraceSettings.parseTraceSettings(value.substring(settingsStart + 1)); if(settings != null) { if (startupPublisher == null) { startupPublisher = new TextDebugLogPublisher(); startupPublisher.writer = writer; } startupPublisher.addTraceSettings(scope, settings); } } } } return startupPublisher; } @@ -342,9 +333,8 @@ private TraceSettings getDefaultSettings(FileBasedDebugLogPublisherCfg config) { return new TraceSettings(TraceSettings.Level.getLevel( false, config.isDefaultDebugExceptionsOnly()), return new TraceSettings( TraceSettings.Level.getLevel(true, config.isDefaultDebugExceptionsOnly()), config.isDefaultOmitMethodEntryArguments(), config.isDefaultOmitMethodReturnValue(), config.getDefaultThrowableStackFrames(), opendj-sdk/opendj3-server-dev/src/server/org/opends/server/tools/BackUpDB.java
@@ -48,12 +48,10 @@ 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.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; import org.opends.server.protocols.ldap.LDAPAttribute; @@ -724,11 +722,8 @@ ErrorLogPublisher errorLogPublisher = TextErrorLogPublisher.getToolStartupTextErrorPublisher( new TextWriter.STREAM(out)); DebugLogPublisher debugLogPublisher = TextDebugLogPublisher.getStartupTextDebugPublisher( new TextWriter.STREAM(out)); ErrorLogger.getInstance().addLogPublisher(errorLogPublisher); DebugLogger.getInstance().addLogPublisher(debugLogPublisher); DebugLogger.getInstance().addPublisherIfRequired(new TextWriter.STREAM(out)); } catch(Exception e) { opendj-sdk/opendj3-server-dev/src/server/org/opends/server/tools/ExportLDIF.java
@@ -45,11 +45,9 @@ 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.JDKLogging; import org.opends.server.loggers.TextDebugLogPublisher; import org.opends.server.loggers.TextWriter; import org.opends.server.loggers.TextErrorLogPublisher; import org.opends.server.loggers.ErrorLogger; @@ -639,11 +637,9 @@ ErrorLogPublisher errorLogPublisher = TextErrorLogPublisher.getToolStartupTextErrorPublisher( new TextWriter.STREAM(out)); DebugLogPublisher debugLogPublisher = TextDebugLogPublisher.getStartupTextDebugPublisher( new TextWriter.STREAM(out)); ErrorLogger.getInstance().addLogPublisher(errorLogPublisher); DebugLogger.getInstance().addLogPublisher(debugLogPublisher); DebugLogger.getInstance().addPublisherIfRequired(new TextWriter.STREAM(out)); } catch(Exception e) { opendj-sdk/opendj3-server-dev/src/server/org/opends/server/tools/RebuildIndex.java
@@ -44,11 +44,9 @@ import org.opends.server.util.args.LDAPConnectionArgumentParser; import org.opends.server.extensions.ConfigFileHandler; import org.opends.server.config.ConfigException; 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; import org.opends.server.loggers.TextErrorLogPublisher; @@ -407,11 +405,8 @@ final ErrorLogPublisher errorLogPublisher = TextErrorLogPublisher .getToolStartupTextErrorPublisher(new TextWriter.STREAM(out)); final DebugLogPublisher debugLogPublisher = TextDebugLogPublisher .getStartupTextDebugPublisher(new TextWriter.STREAM(out)); ErrorLogger.getInstance().addLogPublisher(errorLogPublisher); DebugLogger.getInstance().addLogPublisher(debugLogPublisher); DebugLogger.getInstance().addPublisherIfRequired(new TextWriter.STREAM(out)); } catch (Exception e) { opendj-sdk/opendj3-server-dev/src/server/org/opends/server/tools/RestoreDB.java
@@ -47,11 +47,9 @@ 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.JDKLogging; import org.opends.server.loggers.TextDebugLogPublisher; import org.opends.server.loggers.TextWriter; import org.opends.server.loggers.ErrorLogger; import org.opends.server.loggers.TextErrorLogPublisher; @@ -468,13 +466,9 @@ try { ErrorLogPublisher errorLogPublisher = TextErrorLogPublisher.getToolStartupTextErrorPublisher( new TextWriter.STREAM(out)); DebugLogPublisher debugLogPublisher = TextDebugLogPublisher.getStartupTextDebugPublisher( new TextWriter.STREAM(out)); TextErrorLogPublisher.getToolStartupTextErrorPublisher(new TextWriter.STREAM(out)); ErrorLogger.getInstance().addLogPublisher(errorLogPublisher); DebugLogger.getInstance().addLogPublisher(debugLogPublisher); DebugLogger.getInstance().addPublisherIfRequired(new TextWriter.STREAM(out)); } catch(Exception e) { opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/resource/config-changes.ldif
@@ -1434,7 +1434,7 @@ dn: cn=File-Based Debug Logger,cn=Loggers,cn=config changetype: modify replace: ds-cfg-enabled ds-cfg-enabled: true ds-cfg-enabled: false - replace: ds-cfg-default-include-throwable-cause ds-cfg-default-include-throwable-cause: true opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/TestCaseUtils.java
@@ -475,8 +475,7 @@ ErrorLogger.getInstance().addLogPublisher( (ErrorLogPublisher) TextErrorLogPublisher.getToolStartupTextErrorPublisher(ERROR_TEXT_WRITER)); DebugLogger.getInstance().addLogPublisher( (DebugLogPublisher) TextDebugLogPublisher.getStartupTextDebugPublisher(DEBUG_TEXT_WRITER)); DebugLogger.getInstance().addPublisherIfRequired(DEBUG_TEXT_WRITER); // Writing the buildinfo with the current version. final FileWriter buildInfoWriter = new FileWriter (new File(testConfigDir, "buildinfo"));