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

Nicolas Capponi
31.55.2014 6812cefe6168c6a6142a9633138c0f07ae135dd5
Checkpoint commit for OPENDJ-1288 : 
Migrate I18n and logging support to i18n framework and SLF4J

Update and clean error and debug logging to align with review
comments : CR-2867

* Refactor DebugTargetConfiguration
** remove debug-level (ds-cfg-debug-level)
** remove debug-category (ds-cfg-debug-category)
** add enabled (ds-cfg-enabled)
** add debug-exceptions-only (ds-cfg-debug-exceptions-only)

* Refactor DebugLogPublisherConfiguration
** remove default-debug-level (ds-cfg-default-debug-level)
** remove default-debug-category (ds-cfg-default-debug-category)
** add default-debug-exceptions-only (ds-cfg-default-debug-exceptions-only)

* Update config.ldif and schema/02-config.ldif according to
configuration changes

* Remove LogLevel and LogCategory classes

* Uncomment dependency on opendj-slf4j-adapter and
re-enable disabled unit tests
4 files deleted
1 files added
27 files modified
1632 ■■■■ changed files
opendj3-server-dev/ivy.xml 2 ●●● patch | view | raw | blame | history
opendj3-server-dev/resource/config/config.ldif 3 ●●●● patch | view | raw | blame | history
opendj3-server-dev/resource/schema/02-config.ldif 45 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/DebugLogPublisherConfiguration.xml 101 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/DebugTargetConfiguration.xml 95 ●●●● patch | view | raw | blame | history
opendj3-server-dev/src/admin/messages/DebugLogPublisherCfgDefn.properties 19 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn.properties 20 ●●●● patch | view | raw | blame | history
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_de.properties 18 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_es.properties 18 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_fr.properties 20 ●●●● patch | view | raw | blame | history
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_ja.properties 18 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_ko.properties 18 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_zh_CN.properties 18 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_zh_TW.properties 18 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/admin/messages/FileBasedDebugLogPublisherCfgDefn.properties 19 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/api/DebugLogPublisher.java 3 ●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/api/ErrorLogPublisher.java 59 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/loggers/AbstractLogger.java 6 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/loggers/DebugTracer.java 68 ●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/loggers/ErrorLogger.java 34 ●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/loggers/LogCategory.java 111 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/loggers/LogLevel.java 221 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/loggers/TextDebugLogPublisher.java 104 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/loggers/TextErrorLogPublisher.java 4 ●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/loggers/TraceSettings.java 322 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/ConsoleDebugLogPublisher.java 35 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/tools/VerifyIndex.java 2 ●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/types/DebugLogCategory.java 65 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/types/DebugLogLevel.java 85 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/snmp/src/org/opends/server/snmp/SNMPClassLoaderProvider.java 8 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/loggers/TraceSettingsTest.java 71 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java 2 ●●● patch | view | raw | blame | history
opendj3-server-dev/ivy.xml
@@ -51,7 +51,7 @@
    <dependency org="javax.servlet"         name="javax.servlet-api"        rev="[3.1-b02]" />
    <dependency org="com.sleepycat"         name="je"                       rev="5.0.97" />
    <dependency org="org.forgerock.opendj"  name="opendj-rest2ldap-servlet" rev="&opendj.sdk.version;" conf="default->master,compile" />
    <!--  <dependency org="org.forgerock.opendj"  name="opendj-slf4j-adapter" rev="&opendj.sdk.version;" /> -->
     <dependency org="org.forgerock.opendj"  name="opendj-slf4j-adapter" rev="&opendj.sdk.version;" />
    <dependency org="org.forgerock.commons"  name="i18n-slf4j"  rev="&i18n.version;" />
    <dependency org="org.forgerock.opendj"  name="opendj-server2x-adapter"  rev="&opendj.sdk.version;" />
    <dependency org="org.glassfish.grizzly" name="grizzly-http-servlet"     rev="&grizzly.version;">
opendj3-server-dev/resource/config/config.ldif
@@ -20,7 +20,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2010 Sun Microsystems, Inc.
#      Portions Copyright 2010-2013 ForgeRock AS.
#      Portions Copyright 2010-2014 ForgeRock AS.
#      Portions Copyright 2012-2014 Manuel Gaupp
#
#
@@ -804,7 +804,6 @@
ds-cfg-enabled: false
ds-cfg-log-file: logs/debug
ds-cfg-log-file-permissions: 640
ds-cfg-default-debug-level: error
ds-cfg-asynchronous: false
dn: cn=Log Rotation Policies,cn=config
opendj3-server-dev/resource/schema/02-config.ldif
@@ -21,7 +21,7 @@
#
#
#      Copyright 2006-2010 Sun Microsystems, Inc.
#      Portions Copyright 2010-2013 ForgeRock AS.
#      Portions Copyright 2010-2014 ForgeRock AS.
#      Portions Copyright 2011 profiq, s.r.o.
#      Portions Copyright 2012 Manuel Gaupp
#
@@ -1731,17 +1731,6 @@
  EQUALITY caseIgnoreMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  X-ORIGIN 'OpenDS Directory Server' )
attributeTypes: ( 1.3.6.1.4.1.26027.1.1.294
  NAME 'ds-cfg-default-debug-level'
  EQUALITY caseIgnoreMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  SINGLE-VALUE
  X-ORIGIN 'OpenDS Directory Server' )
attributeTypes: ( 1.3.6.1.4.1.26027.1.1.295
  NAME 'ds-cfg-default-debug-category'
  EQUALITY caseIgnoreMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  X-ORIGIN 'OpenDS Directory Server' )
attributeTypes: ( 1.3.6.1.4.1.26027.1.1.296
  NAME 'ds-cfg-default-omit-method-entry-arguments'
  EQUALITY booleanMatch
@@ -1772,17 +1761,6 @@
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  SINGLE-VALUE
  X-ORIGIN 'OpenDS Directory Server' )
attributeTypes: ( 1.3.6.1.4.1.26027.1.1.301
  NAME 'ds-cfg-debug-level'
  EQUALITY caseIgnoreMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  SINGLE-VALUE
  X-ORIGIN 'OpenDS Directory Server' )
attributeTypes: ( 1.3.6.1.4.1.26027.1.1.302
  NAME 'ds-cfg-debug-category'
  EQUALITY caseIgnoreMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  X-ORIGIN 'OpenDS Directory Server' )
attributeTypes: ( 1.3.6.1.4.1.26027.1.1.303
  NAME 'ds-cfg-omit-method-entry-arguments'
  EQUALITY booleanMatch
@@ -3759,6 +3737,18 @@
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
  SINGLE-VALUE
  X-ORIGIN 'OpenDJ Directory Server' )
attributeTypes: ( 1.3.6.1.4.1.36733.2.1.1.134
  NAME 'ds-cfg-debug-exceptions-only'
  EQUALITY booleanMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
  SINGLE-VALUE
  X-ORIGIN 'OpenDS Directory Server' )
attributeTypes: ( 1.3.6.1.4.1.36733.2.1.1.135
  NAME 'ds-cfg-default-debug-exceptions-only'
  EQUALITY booleanMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
  SINGLE-VALUE
  X-ORIGIN 'OpenDS Directory Server' )
objectClasses: ( 1.3.6.1.4.1.26027.1.2.1
  NAME 'ds-cfg-access-control-handler'
  SUP top
@@ -4035,8 +4025,7 @@
  NAME 'ds-cfg-debug-log-publisher'
  SUP ds-cfg-log-publisher
  STRUCTURAL
  MUST ds-cfg-default-debug-level
  MAY ( ds-cfg-default-debug-category $
  MAY ( ds-cfg-default-debug-exceptions-only $
        ds-cfg-default-omit-method-entry-arguments $
        ds-cfg-default-omit-method-return-value $
        ds-cfg-default-include-throwable-cause $
@@ -4812,9 +4801,9 @@
  NAME 'ds-cfg-debug-target'
  SUP top
  STRUCTURAL
  MUST ( ds-cfg-debug-scope $
         ds-cfg-debug-level )
  MAY ( ds-cfg-debug-category $
  MUST ( ds-cfg-enabled $
         ds-cfg-debug-scope )
  MAY ( ds-cfg-debug-exceptions-only $
        ds-cfg-omit-method-entry-arguments $
        ds-cfg-omit-method-return-value $
        ds-cfg-include-throwable-cause $
opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/DebugLogPublisherConfiguration.xml
@@ -23,7 +23,7 @@
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions copyright 2013 ForgeRock AS
  !      Portions copyright 2013-2014 ForgeRock AS
  ! -->
<adm:managed-object name="debug-log-publisher"
  plural-name="debug-log-publishers"
@@ -37,8 +37,8 @@
    logger to a destination.
  </adm:synopsis>
  <adm:description>
    Debug log messages provide information that can be used for debugging
    or troubleshooting problems in the server, or for providing more
    Debug log messages provide information that can be used for debugging
    or troubleshooting problems in the server, or for providing more
    detailed information about the processing that the server performs.
  </adm:description>
  <adm:profile name="ldap">
@@ -69,105 +69,22 @@
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="default-debug-level" mandatory="true">
    <adm:property name="default-debug-exceptions-only">
    <adm:synopsis>
      The lowest severity level of debug messages to log when none of
      the defined targets match the message.
      Indicates whether only logs with exception
      should be logged.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>error</adm:value>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="disabled">
          <adm:synopsis>No messages will be logged.</adm:synopsis>
        </adm:value>
        <adm:value name="error">
          <adm:synopsis>
            Messages with severity level of ERROR or higher will be
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="warning">
          <adm:synopsis>
            Messages with severity level of WARNING or higher will be
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="info">
          <adm:synopsis>
            Messages with severity level of INFO or higher will be
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="verbose">
          <adm:synopsis>
            Messages with severity level of VERBOSE or higher will be
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="all">
          <adm:synopsis>
            Messages with any severity level will be logged.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-default-debug-level</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="default-debug-category" multi-valued="true">
    <adm:synopsis>
      The debug message categories to be logged when none of the defined
      targets match the message.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Messages with any category will be logged if they have a
          sufficient debug level.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="caught">
          <adm:synopsis>Exception caught.</adm:synopsis>
        </adm:value>
        <adm:value name="constructor">
          <adm:synopsis>Constructor entry.</adm:synopsis>
        </adm:value>
        <adm:value name="data">
          <adm:synopsis>Raw data dump.</adm:synopsis>
        </adm:value>
        <adm:value name="database-access">
          <adm:synopsis>Access to a backend database.</adm:synopsis>
        </adm:value>
        <adm:value name="enter">
          <adm:synopsis>Method entry.</adm:synopsis>
        </adm:value>
        <adm:value name="exit">
          <adm:synopsis>Method exit.</adm:synopsis>
        </adm:value>
        <adm:value name="message">
          <adm:synopsis>Arbitrary debug message.</adm:synopsis>
        </adm:value>
        <adm:value name="protocol">
          <adm:synopsis>Protocol element dump.</adm:synopsis>
        </adm:value>
        <adm:value name="thrown">
          <adm:synopsis>Exception throw from method.</adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-default-debug-category</ldap:name>
        <ldap:name>ds-cfg-default-debug-exceptions-only</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/DebugTargetConfiguration.xml
@@ -23,7 +23,7 @@
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  !      Portions Copyright 2011-2014 ForgeRock AS
  ! -->
<adm:managed-object name="debug-target" plural-name="debug-targets"
  package="org.opends.server.admin.std"
@@ -37,7 +37,7 @@
    Debug targets allow for fine-grain control of which messages are logged
    based on the package, class, or method that generated the message. Each
    debug target configuration entry resides below the entry with RDN of
    "cn=Debug Target" immediately below the parent ds-cfg-debug-log-publisher
    "cn=Debug Target" immediately below the parent ds-cfg-debug-log-publisher
    entry.
  </adm:description>
  <adm:tag name="logging" />
@@ -51,7 +51,7 @@
    <adm:synopsis>
      Specifies the fully-qualified <adm:product-name /> Java package, class, or method affected
      by the settings in this target definition. Use the number
      character (#) to separate the class name and the method name
      character (#) to separate the class name and the method name
      (that is, org.opends.server.core.DirectoryServer#startUp).
    </adm:synopsis>
    <adm:syntax>
@@ -74,98 +74,37 @@
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="debug-level" mandatory="true">
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Specifies the lowest severity level of debug messages to log.
      Indicates whether the
      <adm:user-friendly-name />
      is enabled.
    </adm:synopsis>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="disabled">
          <adm:synopsis>No messages are logged.</adm:synopsis>
        </adm:value>
        <adm:value name="error">
          <adm:synopsis>
            Messages with severity level of ERROR or higher are
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="warning">
          <adm:synopsis>
            Messages with severity level of WARNING or higher are
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="info">
          <adm:synopsis>
            Messages with severity level of INFO or higher are
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="verbose">
          <adm:synopsis>
            Messages with severity level of VERBOSE or higher are
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="all">
          <adm:synopsis>
            Messages with any severity level are logged.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-debug-level</ldap:name>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="debug-category" multi-valued="true">
  <adm:property name="debug-exceptions-only">
    <adm:synopsis>
      Specifies the debug message categories to be logged.
      Indicates whether only logs with exception
      should be logged.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Messages with any category are logged if they have a
          sufficient debug level.
        </adm:synopsis>
      </adm:alias>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="caught">
          <adm:synopsis>Exception caught</adm:synopsis>
        </adm:value>
        <adm:value name="constructor">
          <adm:synopsis>Constructor entry</adm:synopsis>
        </adm:value>
        <adm:value name="data">
          <adm:synopsis>Raw data dump</adm:synopsis>
        </adm:value>
        <adm:value name="database-access">
          <adm:synopsis>Access to a backend database.</adm:synopsis>
        </adm:value>
        <adm:value name="enter">
          <adm:synopsis>Method entry</adm:synopsis>
        </adm:value>
        <adm:value name="exit">
          <adm:synopsis>Method exit</adm:synopsis>
        </adm:value>
        <adm:value name="message">
          <adm:synopsis>Arbitrary debug message</adm:synopsis>
        </adm:value>
        <adm:value name="protocol">
          <adm:synopsis>Protocol element dump</adm:synopsis>
        </adm:value>
        <adm:value name="thrown">
          <adm:synopsis>Exception thrown from method</adm:synopsis>
        </adm:value>
      </adm:enumeration>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-debug-category</ldap:name>
        <ldap:name>ds-cfg-debug-exceptions-only</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
opendj3-server-dev/src/admin/messages/DebugLogPublisherCfgDefn.properties
@@ -2,24 +2,7 @@
user-friendly-plural-name=Debug Log Publishers
synopsis=Debug Log Publishers are responsible for distributing debug log messages from the debug logger to a destination.
description=Debug log messages provide information that can be used for debugging or troubleshooting problems in the server, or for providing more detailed information about the processing that the server performs.
property.default-debug-category.synopsis=The debug message categories to be logged when none of the defined targets match the message.
property.default-debug-category.default-behavior.alias.synopsis=Messages with any category will be logged if they have a sufficient debug level.
property.default-debug-category.syntax.enumeration.value.caught.synopsis=Exception caught.
property.default-debug-category.syntax.enumeration.value.constructor.synopsis=Constructor entry.
property.default-debug-category.syntax.enumeration.value.data.synopsis=Raw data dump.
property.default-debug-category.syntax.enumeration.value.database-access.synopsis=Access to a backend database.
property.default-debug-category.syntax.enumeration.value.enter.synopsis=Method entry.
property.default-debug-category.syntax.enumeration.value.exit.synopsis=Method exit.
property.default-debug-category.syntax.enumeration.value.message.synopsis=Arbitrary debug message.
property.default-debug-category.syntax.enumeration.value.protocol.synopsis=Protocol element dump.
property.default-debug-category.syntax.enumeration.value.thrown.synopsis=Exception throw from method.
property.default-debug-level.synopsis=The lowest severity level of debug messages to log when none of the defined targets match the message.
property.default-debug-level.syntax.enumeration.value.all.synopsis=Messages with any severity level will be logged.
property.default-debug-level.syntax.enumeration.value.disabled.synopsis=No messages will be logged.
property.default-debug-level.syntax.enumeration.value.error.synopsis=Messages with severity level of ERROR or higher will be logged.
property.default-debug-level.syntax.enumeration.value.info.synopsis=Messages with severity level of INFO or higher will be logged.
property.default-debug-level.syntax.enumeration.value.verbose.synopsis=Messages with severity level of VERBOSE or higher will be logged.
property.default-debug-level.syntax.enumeration.value.warning.synopsis=Messages with severity level of WARNING or higher will be logged.
property.default-debug-exceptions-only.synopsis=Indicates whether only logs with exception should be logged.
property.default-include-throwable-cause.synopsis=Indicates whether to include the cause of exceptions in exception thrown and caught messages logged by default.
property.default-omit-method-entry-arguments.synopsis=Indicates whether to include method arguments in debug messages logged by default.
property.default-omit-method-return-value.synopsis=Indicates whether to include the return value in debug messages logged by default.
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn.properties
@@ -2,26 +2,10 @@
user-friendly-plural-name=Debug Targets
synopsis=Debug Targets define the types of messages logged by the debug logPublisher.
description=Debug targets allow for fine-grain control of which messages are logged based on the package, class, or method that generated the message. Each debug target configuration entry resides below the entry with RDN of "cn=Debug Target" immediately below the parent ds-cfg-debug-log-publisher entry.
property.debug-category.synopsis=Specifies the debug message categories to be logged.
property.debug-category.default-behavior.alias.synopsis=Messages with any category are logged if they have a sufficient debug level.
property.debug-category.syntax.enumeration.value.caught.synopsis=Exception caught
property.debug-category.syntax.enumeration.value.constructor.synopsis=Constructor entry
property.debug-category.syntax.enumeration.value.data.synopsis=Raw data dump
property.debug-category.syntax.enumeration.value.database-access.synopsis=Access to a backend database.
property.debug-category.syntax.enumeration.value.enter.synopsis=Method entry
property.debug-category.syntax.enumeration.value.exit.synopsis=Method exit
property.debug-category.syntax.enumeration.value.message.synopsis=Arbitrary debug message
property.debug-category.syntax.enumeration.value.protocol.synopsis=Protocol element dump
property.debug-category.syntax.enumeration.value.thrown.synopsis=Exception thrown from method
property.debug-level.synopsis=Specifies the lowest severity level of debug messages to log.
property.debug-level.syntax.enumeration.value.all.synopsis=Messages with any severity level are logged.
property.debug-level.syntax.enumeration.value.disabled.synopsis=No messages are logged.
property.debug-level.syntax.enumeration.value.error.synopsis=Messages with severity level of ERROR or higher are logged.
property.debug-level.syntax.enumeration.value.info.synopsis=Messages with severity level of INFO or higher are logged.
property.debug-level.syntax.enumeration.value.verbose.synopsis=Messages with severity level of VERBOSE or higher are logged.
property.debug-level.syntax.enumeration.value.warning.synopsis=Messages with severity level of WARNING or higher are logged.
property.debug-exceptions-only.synopsis=Indicates whether only logs with exception should be logged.
property.debug-scope.synopsis=Specifies the fully-qualified OpenDJ Java package, class, or method affected by the settings in this target definition. Use the number character (#) to separate the class name and the method name (that is, org.opends.server.core.DirectoryServer#startUp).
property.debug-scope.syntax.string.pattern.synopsis=The fully-qualified OpenDJ Java package, class, or method name.
property.enabled.synopsis=Indicates whether the Debug Target is enabled.
property.include-throwable-cause.synopsis=Specifies the property to indicate whether to include the cause of exceptions in exception thrown and caught messages.
property.omit-method-entry-arguments.synopsis=Specifies the property to indicate whether to include method arguments in debug messages.
property.omit-method-return-value.synopsis=Specifies the property to indicate whether to include the return value in debug messages.
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_de.properties
@@ -2,24 +2,6 @@
user-friendly-plural-name=Debug Targets
synopsis=Debug Targets definieren, welchen Typ von Nachrichten ein debug logPublisher in die Log-Datei schreibt.
description=Debug Targets erlauben eine sehr genaue Kontrolle \u00fcber das Protokollieren von Nachrichten. Diese k\u00f6nnen auf Basis von Paket, Klasse, oder Methode der generierten Nachricht definiert werden. Jeder Debug Target-Konfigurationseintrag ist auf einem RDN unter "cn=Debug Target" genau unter dem ds-cfg-debug-log-publisher Eintrag angesiedelt.
property.debug-category.synopsis=Gibt die Kategorien der Debug-Nachrichten an, die protokolliert werden.
property.debug-category.default-behavior.alias.synopsis=Es werden Nachrichten aller Kategorien protokolliert, wenn ihre Debug-Ebene ausreicht.
property.debug-category.syntax.enumeration.value.caught.synopsis=Ausnahmefehler erfasst
property.debug-category.syntax.enumeration.value.constructor.synopsis=Konstruktoreintrag
property.debug-category.syntax.enumeration.value.data.synopsis=Rohdaten-Speicherauszug
property.debug-category.syntax.enumeration.value.database-access.synopsis=Zugriff auf eine Backend-Datenbank.
property.debug-category.syntax.enumeration.value.enter.synopsis=Methodeneintrag
property.debug-category.syntax.enumeration.value.exit.synopsis=Methodenende
property.debug-category.syntax.enumeration.value.message.synopsis=Willk\u00fcrliche Debug Nachricht
property.debug-category.syntax.enumeration.value.protocol.synopsis=Protokollelement-Speicherauszug
property.debug-category.syntax.enumeration.value.thrown.synopsis=Ausnahme, die aus der Methode verursacht wurde
property.debug-level.synopsis=Gibt die niedrigste Schweregradebene der Debug-Nachrichten an, die protokolliert werden.
property.debug-level.syntax.enumeration.value.all.synopsis=Nachrichten aller Schweregradebenen werden protokolliert.
property.debug-level.syntax.enumeration.value.disabled.synopsis=Es werden keine Nachrichten protokolliert.
property.debug-level.syntax.enumeration.value.error.synopsis=Nachrichten mit dem Schweregrad ERROR oder h\u00f6her werden protokolliert.
property.debug-level.syntax.enumeration.value.info.synopsis=Nachrichten mit dem Schweregrad INFO oder h\u00f6her werden protokolliert.
property.debug-level.syntax.enumeration.value.verbose.synopsis=Nachrichten mit dem Schweregrad VERBOSE oder h\u00f6her werden protokolliert.
property.debug-level.syntax.enumeration.value.warning.synopsis=Nachrichten mit dem Schweregrad WARNING oder h\u00f6her werden protokolliert.
property.debug-scope.synopsis=Gibt das vollqualifizierte OpenDJ-Java-Paket, die Klasse oder Methode an, auf die sich die Einstellungen in der Zieldefinition auswirken. Verwenden Sie das Nummernzeichen (#) zum Trennen von Klassenname und Methodenname (also org.opends.server.core.DirectoryServer#startUp).
property.debug-scope.syntax.string.pattern.synopsis=Das vollqualifizierte OpenDJ-Java-Paket, der Klassen- oder Methodenname.
property.include-throwable-cause.synopsis=Gibt die Eigenschaft an, \u00fcber die festgelegt wird, ob die Ursache von Ausnahmen und erfassten Nachrichten einbezogen wird.
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_es.properties
@@ -2,24 +2,6 @@
user-friendly-plural-name=Destinos de depuraci\u00f3n
synopsis=Los destinos de depuraci\u00f3n definen los tipos de mensajes registrados por el editor del registro de depuraci\u00f3n.
description=Los destinos de depuraci\u00f3n permiten un control preciso de los mensajes registrados en funci\u00f3n del paquete, la clase o el m\u00e9todo que haya generado el mensaje. Cada una de las entradas de configuraci\u00f3n del destino de depuraci\u00f3n residen por debajo de la entrada "cn=Debug Target", ubicada justo debajo de la entrada principal "ds-cfg-debug-log-publisher".
property.debug-category.synopsis=Especifica las categor\u00edas de mensajes de depuraci\u00f3n que se van a registrar.
property.debug-category.default-behavior.alias.synopsis=Se registrar\u00e1n los mensajes de cualquier categor\u00eda siempre que presenten un nivel de depuraci\u00f3n suficiente.
property.debug-category.syntax.enumeration.value.caught.synopsis=Excepci\u00f3n detectada
property.debug-category.syntax.enumeration.value.constructor.synopsis=Entrada del constructor
property.debug-category.syntax.enumeration.value.data.synopsis=Volcado de datos sin formato
property.debug-category.syntax.enumeration.value.database-access.synopsis=Acceso a una base de datos del servidor de fondo
property.debug-category.syntax.enumeration.value.enter.synopsis=Entrada al m\u00e9todo
property.debug-category.syntax.enumeration.value.exit.synopsis=Salida del m\u00e9todo
property.debug-category.syntax.enumeration.value.message.synopsis=Mensaje de depuraci\u00f3n arbitrario
property.debug-category.syntax.enumeration.value.protocol.synopsis=Volcado del elemento de protocolo
property.debug-category.syntax.enumeration.value.thrown.synopsis=Excepci\u00f3n generada a partir del m\u00e9todo
property.debug-level.synopsis=Especifica el nivel de gravedad inferior de los mensajes de depuraci\u00f3n que se van a registrar.
property.debug-level.syntax.enumeration.value.all.synopsis=Se registrar\u00e1n los mensajes con cualquier nivel de gravedad.
property.debug-level.syntax.enumeration.value.disabled.synopsis=No se registrar\u00e1 ning\u00fan mensaje.
property.debug-level.syntax.enumeration.value.error.synopsis=Se registrar\u00e1n los mensajes con el nivel de gravedad ERROR o superior.
property.debug-level.syntax.enumeration.value.info.synopsis=Se registrar\u00e1n los mensajes con el nivel de gravedad INFO o superior.
property.debug-level.syntax.enumeration.value.verbose.synopsis=Se registrar\u00e1n los mensajes con el nivel de gravedad VERBOSE o superior.
property.debug-level.syntax.enumeration.value.warning.synopsis=Se registrar\u00e1n los mensajes con el nivel de gravedad WARNING o superior.
property.debug-scope.synopsis=Especifica el nombre completo del m\u00e9todo, la clase o el paquete de Java de OpenDJ al que afecta esta configuraci\u00f3n en esta definici\u00f3n de destino. Utilice el car\u00e1cter de n\u00famero (#) para separar los nombres de la clase y el m\u00e9todo (por ejemplo, org.opends.server.core.DirectoryServer#startUp).
property.debug-scope.syntax.string.pattern.synopsis=El nombre completo del m\u00e9todo, la clase o el paquete de Java de OpenDJ.
property.include-throwable-cause.synopsis=Especifica la propiedad que permite indicar si se debe incluir la causa en los mensajes de excepciones detectadas o generadas.
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_fr.properties
@@ -2,27 +2,11 @@
user-friendly-plural-name=Cibles de d\u00e9bogage
synopsis=Les cibles de d\u00e9bogage d\u00e9finissent les types de messages journalis\u00e9s par l'\u00e9diteur de journal de d\u00e9bogage.
description=Les cibles de d\u00e9bogage permettent un contr\u00f4le fin pour lequel les messages sont journalis\u00e9s en se basant sur le package, la classe ou la m\u00e9thode qui a g\u00e9n\u00e9r\u00e9 le message. Chaque entr\u00e9e de configuration de cible de d\u00e9bogage r\u00e9side sous l'entr\u00e9e ayant un NRD de "cn=Debug Target", juste sous l'entr\u00e9e parente ds-cfg-debug-log-publisher.
property.debug-category.synopsis=Sp\u00e9cifie les cat\u00e9gories de message de d\u00e9bogage \u00e0 journaliser.
property.debug-category.default-behavior.alias.synopsis=Les messages avec n'importe quelle cat\u00e9gorie sont journalis\u00e9s s'ils ont un niveau de d\u00e9bogage suffisant.
property.debug-category.syntax.enumeration.value.caught.synopsis=Exception intercept\u00e9e
property.debug-category.syntax.enumeration.value.constructor.synopsis=Entr\u00e9e de constructeur
property.debug-category.syntax.enumeration.value.data.synopsis=Vidage de donn\u00e9es brutes
property.debug-category.syntax.enumeration.value.database-access.synopsis=Acc\u00e8s \u00e0 la base de donn\u00e9es de backend.
property.debug-category.syntax.enumeration.value.enter.synopsis=Entr\u00e9e de m\u00e9thode
property.debug-category.syntax.enumeration.value.exit.synopsis=Sortie de m\u00e9thode
property.debug-category.syntax.enumeration.value.message.synopsis=Message de d\u00e9bogage arbitraire
property.debug-category.syntax.enumeration.value.protocol.synopsis=Vidage d'\u00e9l\u00e9ment de protocole
property.debug-category.syntax.enumeration.value.thrown.synopsis=\u00c9mission d'exception \u00e0 partir de la m\u00e9thode
property.debug-level.synopsis=Sp\u00e9cifie le niveau de gravit\u00e9 le plus bas des messages de d\u00e9bogage \u00e0 journaliser.
property.debug-level.syntax.enumeration.value.all.synopsis=Les messages ayant n'importe quel niveau de gravit\u00e9 sont journalis\u00e9s.
property.debug-level.syntax.enumeration.value.disabled.synopsis=Aucun message n'est journalis\u00e9.
property.debug-level.syntax.enumeration.value.error.synopsis=Les messages ayant au moins un niveau de gravit\u00e9 d'ERREUR sont journalis\u00e9s.
property.debug-level.syntax.enumeration.value.info.synopsis=Les messages ayant au moins un niveau de gravit\u00e9 de INFO sont journalis\u00e9s.
property.debug-level.syntax.enumeration.value.verbose.synopsis=Les messages ayant au moins un niveau de gravit\u00e9 de D\u00c9TAIL sont journalis\u00e9s.
property.debug-level.syntax.enumeration.value.warning.synopsis=Les messages ayant au moins un niveau de gravit\u00e9 d'AVERTISSEMENT sont journalis\u00e9s.
property.debug-scope.synopsis=Sp\u00e9cifie le package Java OpenDJ complet, la classe ou la m\u00e9thode modifi\u00e9 par les param\u00e8tres de cette d\u00e9finition de cible. Utiliser le caract\u00e8re di\u00e8se (#) pour s\u00e9parer le nom de classe du nom de la m\u00e9thode (c'est-\u00e0-dire org.opends.server.core.DirectoryServer#startUp).
property.debug-scope.syntax.string.pattern.synopsis=Le package Java OpenDJ complet, la classe ou le nom de m\u00e9thode.
property.include-throwable-cause.synopsis=Sp\u00e9cifie la propri\u00e9t\u00e9 pour indiquer s'il faut inclure la raison des exceptions dans les messages d'exception \u00e9mise et intercept\u00e9e.
property.omit-method-entry-arguments.synopsis=Sp\u00e9cifie la propri\u00e9t\u00e9 pour indiquer s'il faut inclure les arguments de m\u00e9thode dans les messages de d\u00e9bogage.
property.omit-method-return-value.synopsis=Sp\u00e9cifie la propri\u00e9t\u00e9 pour indiquer s'il faut inclure les arguments de valeur de retour dans les messages de d\u00e9bogage.
property.throwable-stack-frames.synopsis=Sp\u00e9cifie la propri\u00e9t\u00e9 pour indiquer le nombre de cadres piles \u00e0 inclure dans la trace de pile pour l'entr\u00e9e de m\u00e9thode et les messages d'exception \u00e9mise.
property.debug-exceptions-only.synopsis=Sp\u00e9cifie la propri\u00e9t\u00e9 pour indiquer si seules les exceptions sont prises en compte.
property.enabled.synopsis=Sp\u00e9cifie la propri\u00e9t\u00e9 pour indiquer si le d\u00e9bogage est actif.
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_ja.properties
@@ -2,24 +2,6 @@
user-friendly-plural-name=\u30c7\u30d0\u30c3\u30b0\u30bf\u30fc\u30b2\u30c3\u30c8
synopsis=\u30c7\u30d0\u30c3\u30b0\u30bf\u30fc\u30b2\u30c3\u30c8\u306f\u3001\u30c7\u30d0\u30c3\u30b0\u30ed\u30b0\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3067\u30ed\u30b0\u306b\u8a18\u9332\u3055\u308c\u308b\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u30bf\u30a4\u30d7\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002
description=\u30c7\u30d0\u30c3\u30b0\u30bf\u30fc\u30b2\u30c3\u30c8\u3092\u4f7f\u7528\u3059\u308b\u3068\u3001\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u751f\u6210\u3057\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u3001\u30af\u30e9\u30b9\u3001\u307e\u305f\u306f\u30e1\u30bd\u30c3\u30c9\u306b\u57fa\u3065\u3044\u3066\u30ed\u30b0\u306b\u8a18\u9332\u3055\u308c\u308b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u8a73\u7d30\u306b\u5236\u5fa1\u3067\u304d\u307e\u3059\u3002\u30c7\u30d0\u30c3\u30b0\u30bf\u30fc\u30b2\u30c3\u30c8\u69cb\u6210\u30a8\u30f3\u30c8\u30ea\u306f\u305d\u308c\u305e\u308c\u3001\u89aa ds-cfg-debug-log-publisher \u30a8\u30f3\u30c8\u30ea\u306e\u771f\u4e0b\u306e\u3001RDN \u304c\u300ccn=Debug Target\u300d\u3067\u3042\u308b\u30a8\u30f3\u30c8\u30ea\u306e\u4e0b\u306b\u914d\u7f6e\u3055\u308c\u307e\u3059\u3002
property.debug-category.synopsis=\u30ed\u30b0\u306b\u8a18\u9332\u3059\u308b\u30c7\u30d0\u30c3\u30b0\u30e1\u30c3\u30bb\u30fc\u30b8\u30ab\u30c6\u30b4\u30ea\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002
property.debug-category.default-behavior.alias.synopsis=\u5341\u5206\u306a\u30c7\u30d0\u30c3\u30b0\u30ec\u30d9\u30eb\u304c\u8a2d\u5b9a\u3055\u308c\u305f\u30e1\u30c3\u30bb\u30fc\u30b8\u3067\u3042\u308c\u3070\u3001\u3069\u306e\u30ab\u30c6\u30b4\u30ea\u3067\u3042\u3063\u3066\u3082\u30ed\u30b0\u306b\u8a18\u9332\u3055\u308c\u307e\u3059\u3002
property.debug-category.syntax.enumeration.value.caught.synopsis=\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u305f\u4f8b\u5916
property.debug-category.syntax.enumeration.value.constructor.synopsis=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u30a8\u30f3\u30c8\u30ea
property.debug-category.syntax.enumeration.value.data.synopsis=raw \u30c7\u30fc\u30bf\u30c0\u30f3\u30d7
property.debug-category.syntax.enumeration.value.database-access.synopsis=\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3002
property.debug-category.syntax.enumeration.value.enter.synopsis=\u30e1\u30bd\u30c3\u30c9\u30a8\u30f3\u30c8\u30ea
property.debug-category.syntax.enumeration.value.exit.synopsis=\u30e1\u30bd\u30c3\u30c9\u7d42\u4e86
property.debug-category.syntax.enumeration.value.message.synopsis=\u4efb\u610f\u306e\u30c7\u30d0\u30c3\u30b0\u30e1\u30c3\u30bb\u30fc\u30b8
property.debug-category.syntax.enumeration.value.protocol.synopsis=\u30d7\u30ed\u30c8\u30b3\u30eb\u8981\u7d20\u30c0\u30f3\u30d7
property.debug-category.syntax.enumeration.value.thrown.synopsis=\u30e1\u30bd\u30c3\u30c9\u304b\u3089\u30b9\u30ed\u30fc\u3055\u308c\u305f\u4f8b\u5916
property.debug-level.synopsis=\u30ed\u30b0\u306b\u8a18\u9332\u3059\u308b\u30c7\u30d0\u30c3\u30b0\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u6700\u5c0f\u306e\u91cd\u8981\u5ea6\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002
property.debug-level.syntax.enumeration.value.all.synopsis=\u91cd\u8981\u5ea6\u306b\u95a2\u4fc2\u306a\u304f\u3001\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u30ed\u30b0\u306b\u8a18\u9332\u3055\u308c\u307e\u3059\u3002
property.debug-level.syntax.enumeration.value.disabled.synopsis=\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u30ed\u30b0\u306b\u8a18\u9332\u3055\u308c\u307e\u305b\u3093\u3002
property.debug-level.syntax.enumeration.value.error.synopsis=\u91cd\u8981\u5ea6\u304c ERROR \u4ee5\u4e0a\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u30ed\u30b0\u306b\u8a18\u9332\u3055\u308c\u307e\u3059\u3002
property.debug-level.syntax.enumeration.value.info.synopsis=\u91cd\u8981\u5ea6\u304c INFO \u4ee5\u4e0a\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u30ed\u30b0\u306b\u8a18\u9332\u3055\u308c\u307e\u3059\u3002
property.debug-level.syntax.enumeration.value.verbose.synopsis=\u91cd\u8981\u5ea6\u304c VERBOSE \u4ee5\u4e0a\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u30ed\u30b0\u306b\u8a18\u9332\u3055\u308c\u307e\u3059\u3002
property.debug-level.syntax.enumeration.value.warning.synopsis=\u91cd\u8981\u5ea6\u304c WARNING \u4ee5\u4e0a\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u30ed\u30b0\u306b\u8a18\u9332\u3055\u308c\u307e\u3059\u3002
property.debug-scope.synopsis=\u3053\u306e\u30bf\u30fc\u30b2\u30c3\u30c8\u5b9a\u7fa9\u306e\u8a2d\u5b9a\u306e\u5f71\u97ff\u3092\u53d7\u3051\u308b\u3001\u5b8c\u5168\u6307\u5b9a\u306e OpenDJ Java \u30d1\u30c3\u30b1\u30fc\u30b8\u3001\u30af\u30e9\u30b9\u3001\u307e\u305f\u306f\u30e1\u30bd\u30c3\u30c9\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\u30af\u30e9\u30b9\u540d\u304a\u3088\u3073\u30e1\u30bd\u30c3\u30c9\u540d\u306e\u533a\u5207\u308a\u306b\u306f\u3001\u30b7\u30e3\u30fc\u30d7\u8a18\u53f7 (#) \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u3064\u307e\u308a\u3001org.opends.server.core.DirectoryServer#startUp \u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002
property.debug-scope.syntax.string.pattern.synopsis=\u5b8c\u5168\u6307\u5b9a\u306e OpenDJ Java \u30d1\u30c3\u30b1\u30fc\u30b8\u3001\u30af\u30e9\u30b9\u3001\u307e\u305f\u306f\u30e1\u30bd\u30c3\u30c9\u540d\u3002
property.include-throwable-cause.synopsis=\u4f8b\u5916\u306b\u3088\u3063\u3066\u30b9\u30ed\u30fc\u304a\u3088\u3073\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u305f\u30e1\u30c3\u30bb\u30fc\u30b8\u306b\u3001\u4f8b\u5916\u306e\u539f\u56e0\u3092\u542b\u3081\u308b\u304b\u3069\u3046\u304b\u3092\u6307\u5b9a\u3059\u308b\u305f\u3081\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_ko.properties
@@ -2,24 +2,6 @@
user-friendly-plural-name=Debug Targets
synopsis=Debug Targets define the types of messages logged by the debug logPublisher.
description=Debug targets allow for fine-grain control of which messages are logged based on the package, class, or method that generated the message. Each debug target configuration entry resides below the entry with RDN of "cn=Debug Target" immediately below the parent ds-cfg-debug-log-publisher entry.
property.debug-category.synopsis=Specifies the debug message categories to be logged.
property.debug-category.default-behavior.alias.synopsis=Messages with any category are logged if they have a sufficient debug level.
property.debug-category.syntax.enumeration.value.caught.synopsis=Exception caught
property.debug-category.syntax.enumeration.value.constructor.synopsis=Constructor entry
property.debug-category.syntax.enumeration.value.data.synopsis=Raw data dump
property.debug-category.syntax.enumeration.value.database-access.synopsis=Access to a backend database.
property.debug-category.syntax.enumeration.value.enter.synopsis=Method entry
property.debug-category.syntax.enumeration.value.exit.synopsis=Method exit
property.debug-category.syntax.enumeration.value.message.synopsis=Arbitrary debug message
property.debug-category.syntax.enumeration.value.protocol.synopsis=Protocol element dump
property.debug-category.syntax.enumeration.value.thrown.synopsis=Exception throw from method
property.debug-level.synopsis=Specifies the lowest severity level of debug messages to log.
property.debug-level.syntax.enumeration.value.all.synopsis=Messages with any severity level are logged.
property.debug-level.syntax.enumeration.value.disabled.synopsis=No messages are logged.
property.debug-level.syntax.enumeration.value.error.synopsis=Messages with severity level of ERROR or higher are logged.
property.debug-level.syntax.enumeration.value.info.synopsis=Messages with severity level of INFO or higher are logged.
property.debug-level.syntax.enumeration.value.verbose.synopsis=Messages with severity level of VERBOSE or higher are logged.
property.debug-level.syntax.enumeration.value.warning.synopsis=Messages with severity level of WARNING or higher are logged.
property.debug-scope.synopsis=Specifies the fully-qualified OpenDJ Java package, class, or method affected by the settings in this target definition. Use the number character (#) to separate the class name and the method name (that is, org.opends.server.core.DirectoryServer#startUp).
property.debug-scope.syntax.string.pattern.synopsis=The fully-qualified OpenDJ Java package, class, or method name.
property.include-throwable-cause.synopsis=Specifies the property to indicate whether to include the cause of exceptions in exception thrown and caught messages.
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_zh_CN.properties
@@ -2,24 +2,6 @@
user-friendly-plural-name=\u8c03\u8bd5\u76ee\u6807
synopsis=\u8c03\u8bd5\u76ee\u6807\u5b9a\u4e49\u8c03\u8bd5\u65e5\u5fd7\u53d1\u5e03\u7a0b\u5e8f\u8bb0\u5f55\u7684\u6d88\u606f\u7c7b\u578b\u3002
description=\u8c03\u8bd5\u76ee\u6807\u5141\u8bb8\u7ec6\u7c92\u5ea6\u63a7\u5236\u57fa\u4e8e\u8f6f\u4ef6\u5305\u3001\u7c7b\u6216\u751f\u6210\u6d88\u606f\u7684\u65b9\u6cd5\u8bb0\u5f55\u7684\u6d88\u606f\u3002\u6bcf\u4e2a\u8c03\u8bd5\u76ee\u6807\u914d\u7f6e\u6761\u76ee\u5747\u4f4d\u4e8e RDN \u4e3a\u201ccn= \u8c03\u8bd5\u76ee\u6807\u201d\u7684\u6761\u76ee\uff08\u7d27\u6328\u7236 ds-cfg-debug-log-publisher \u6761\u76ee\uff09\u4e0b\u3002
property.debug-category.synopsis=\u6307\u5b9a\u8981\u8bb0\u5f55\u7684\u8c03\u8bd5\u6d88\u606f\u7c7b\u522b\u3002
property.debug-category.default-behavior.alias.synopsis=\u5982\u679c\u5177\u6709\u4efb\u4f55\u7c7b\u522b\u7684\u6d88\u606f\u5177\u6709\u8db3\u591f\u7684\u8c03\u8bd5\u7ea7\u522b\uff0c\u5219\u4f1a\u8bb0\u5f55\u5b83\u4eec\u3002
property.debug-category.syntax.enumeration.value.caught.synopsis=\u6355\u83b7\u7684\u5f02\u5e38
property.debug-category.syntax.enumeration.value.constructor.synopsis=\u6784\u9020\u51fd\u6570\u8f93\u5165
property.debug-category.syntax.enumeration.value.data.synopsis=\u539f\u59cb\u6570\u636e\u8f6c\u50a8
property.debug-category.syntax.enumeration.value.database-access.synopsis=\u6709\u6743\u5bf9\u540e\u7aef\u6570\u636e\u5e93\u8fdb\u884c\u8bbf\u95ee\u3002
property.debug-category.syntax.enumeration.value.enter.synopsis=\u65b9\u6cd5\u8f93\u5165
property.debug-category.syntax.enumeration.value.exit.synopsis=\u65b9\u6cd5\u9000\u51fa
property.debug-category.syntax.enumeration.value.message.synopsis=\u4efb\u610f\u8c03\u8bd5\u6d88\u606f
property.debug-category.syntax.enumeration.value.protocol.synopsis=\u534f\u8bae\u5143\u7d20\u8f6c\u50a8
property.debug-category.syntax.enumeration.value.thrown.synopsis=\u65b9\u6cd5\u4e2d\u629b\u51fa\u7684\u5f02\u5e38
property.debug-level.synopsis=\u6307\u5b9a\u8981\u8bb0\u5f55\u7684\u6700\u4f4e\u4e25\u91cd\u7ea7\u522b\u7684\u8c03\u8bd5\u6d88\u606f\u3002
property.debug-level.syntax.enumeration.value.all.synopsis=\u8bb0\u5f55\u4efb\u4f55\u4e25\u91cd\u7ea7\u522b\u7684\u6d88\u606f\u3002
property.debug-level.syntax.enumeration.value.disabled.synopsis=\u4e0d\u8bb0\u5f55\u4efb\u4f55\u6d88\u606f\u3002
property.debug-level.syntax.enumeration.value.error.synopsis=\u8bb0\u5f55\u4e25\u91cd\u7ea7\u522b\u4e3a ERROR \u6216\u66f4\u9ad8\u7ea7\u522b\u7684\u6d88\u606f\u3002
property.debug-level.syntax.enumeration.value.info.synopsis=\u8bb0\u5f55\u4e25\u91cd\u7ea7\u522b\u4e3a INFO \u6216\u66f4\u9ad8\u7ea7\u522b\u7684\u6d88\u606f\u3002
property.debug-level.syntax.enumeration.value.verbose.synopsis=\u8bb0\u5f55\u4e25\u91cd\u7ea7\u522b\u4e3a VERBOSE \u6216\u66f4\u9ad8\u7ea7\u522b\u7684\u6d88\u606f\u3002
property.debug-level.syntax.enumeration.value.warning.synopsis=\u8bb0\u5f55\u4e25\u91cd\u7ea7\u522b\u4e3a WARNING \u6216\u66f4\u9ad8\u7ea7\u522b\u7684\u6d88\u606f\u3002
property.debug-scope.synopsis=\u5728\u6b64\u76ee\u6807\u5b9a\u4e49\u4e2d\u6307\u5b9a\u53d7\u8bbe\u7f6e\u5f71\u54cd\u7684\u5b8c\u5168\u9650\u5b9a OpenDJ Java \u8f6f\u4ef6\u5305\u3001\u7c7b\u6216\u65b9\u6cd5\u3002\u4f7f\u7528\u5b57\u7b26\u6570 (#) \u5206\u9694\u7c7b\u540d\u79f0\u548c\u65b9\u6cd5\u540d\u79f0\uff08\u5373\uff0corg.opends.server.core.DirectoryServer#startUp\uff09\u3002
property.debug-scope.syntax.string.pattern.synopsis=\u5b8c\u5168\u9650\u5b9a OpenDJ Java \u8f6f\u4ef6\u5305\u3001\u7c7b\u6216\u65b9\u6cd5\u540d\u79f0\u3002
property.include-throwable-cause.synopsis=\u6307\u5b9a\u7279\u6027\u4ee5\u6307\u793a\u662f\u5426\u5c06\u5f02\u5e38\u7684\u539f\u56e0\u5305\u62ec\u5728\u5f02\u5e38\u629b\u51fa\u548c\u6355\u83b7\u6d88\u606f\u4e2d\u3002
opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_zh_TW.properties
@@ -2,24 +2,6 @@
user-friendly-plural-name=Debug Targets
synopsis=Debug Targets define the types of messages logged by the debug logPublisher.
description=Debug targets allow for fine-grain control of which messages are logged based on the package, class, or method that generated the message. Each debug target configuration entry resides below the entry with RDN of "cn=Debug Target" immediately below the parent ds-cfg-debug-log-publisher entry.
property.debug-category.synopsis=Specifies the debug message categories to be logged.
property.debug-category.default-behavior.alias.synopsis=Messages with any category are logged if they have a sufficient debug level.
property.debug-category.syntax.enumeration.value.caught.synopsis=Exception caught
property.debug-category.syntax.enumeration.value.constructor.synopsis=Constructor entry
property.debug-category.syntax.enumeration.value.data.synopsis=Raw data dump
property.debug-category.syntax.enumeration.value.database-access.synopsis=Access to a backend database.
property.debug-category.syntax.enumeration.value.enter.synopsis=Method entry
property.debug-category.syntax.enumeration.value.exit.synopsis=Method exit
property.debug-category.syntax.enumeration.value.message.synopsis=Arbitrary debug message
property.debug-category.syntax.enumeration.value.protocol.synopsis=Protocol element dump
property.debug-category.syntax.enumeration.value.thrown.synopsis=Exception throw from method
property.debug-level.synopsis=Specifies the lowest severity level of debug messages to log.
property.debug-level.syntax.enumeration.value.all.synopsis=Messages with any severity level are logged.
property.debug-level.syntax.enumeration.value.disabled.synopsis=No messages are logged.
property.debug-level.syntax.enumeration.value.error.synopsis=Messages with severity level of ERROR or higher are logged.
property.debug-level.syntax.enumeration.value.info.synopsis=Messages with severity level of INFO or higher are logged.
property.debug-level.syntax.enumeration.value.verbose.synopsis=Messages with severity level of VERBOSE or higher are logged.
property.debug-level.syntax.enumeration.value.warning.synopsis=Messages with severity level of WARNING or higher are logged.
property.debug-scope.synopsis=Specifies the fully-qualified OpenDJ Java package, class, or method affected by the settings in this target definition. Use the number character (#) to separate the class name and the method name (that is, org.opends.server.core.DirectoryServer#startUp).
property.debug-scope.syntax.string.pattern.synopsis=The fully-qualified OpenDJ Java package, class, or method name.
property.include-throwable-cause.synopsis=Specifies the property to indicate whether to include the cause of exceptions in exception thrown and caught messages.
opendj3-server-dev/src/admin/messages/FileBasedDebugLogPublisherCfgDefn.properties
@@ -6,24 +6,7 @@
property.auto-flush.synopsis=Specifies whether to flush the writer after every log record.
property.auto-flush.description=If the asynchronous writes option is used, the writer is flushed after all the log records in the queue are written.
property.buffer-size.synopsis=Specifies the log file buffer size.
property.default-debug-category.synopsis=The debug message categories to be logged when none of the defined targets match the message.
property.default-debug-category.default-behavior.alias.synopsis=Messages with any category will be logged if they have a sufficient debug level.
property.default-debug-category.syntax.enumeration.value.caught.synopsis=Exception caught.
property.default-debug-category.syntax.enumeration.value.constructor.synopsis=Constructor entry.
property.default-debug-category.syntax.enumeration.value.data.synopsis=Raw data dump.
property.default-debug-category.syntax.enumeration.value.database-access.synopsis=Access to a backend database.
property.default-debug-category.syntax.enumeration.value.enter.synopsis=Method entry.
property.default-debug-category.syntax.enumeration.value.exit.synopsis=Method exit.
property.default-debug-category.syntax.enumeration.value.message.synopsis=Arbitrary debug message.
property.default-debug-category.syntax.enumeration.value.protocol.synopsis=Protocol element dump.
property.default-debug-category.syntax.enumeration.value.thrown.synopsis=Exception throw from method.
property.default-debug-level.synopsis=The lowest severity level of debug messages to log when none of the defined targets match the message.
property.default-debug-level.syntax.enumeration.value.all.synopsis=Messages with any severity level will be logged.
property.default-debug-level.syntax.enumeration.value.disabled.synopsis=No messages will be logged.
property.default-debug-level.syntax.enumeration.value.error.synopsis=Messages with severity level of ERROR or higher will be logged.
property.default-debug-level.syntax.enumeration.value.info.synopsis=Messages with severity level of INFO or higher will be logged.
property.default-debug-level.syntax.enumeration.value.verbose.synopsis=Messages with severity level of VERBOSE or higher will be logged.
property.default-debug-level.syntax.enumeration.value.warning.synopsis=Messages with severity level of WARNING or higher will be logged.
property.default-debug-exceptions-only.synopsis=Indicates whether only logs with exception should be logged.
property.default-include-throwable-cause.synopsis=Indicates whether to include the cause of exceptions in exception thrown and caught messages logged by default.
property.default-omit-method-entry-arguments.synopsis=Indicates whether to include method arguments in debug messages logged by default.
property.default-omit-method-return-value.synopsis=Indicates whether to include the return value in debug messages logged by default.
opendj3-server-dev/src/server/org/opends/server/api/DebugLogPublisher.java
@@ -34,7 +34,6 @@
import org.forgerock.i18n.LocalizableMessage;
import org.opends.server.admin.std.server.DebugLogPublisherCfg;
import org.opends.server.loggers.TraceSettings;
import org.opends.server.types.DebugLogLevel;
/**
 * This class defines the set of methods and structures that must be
@@ -72,7 +71,7 @@
    methodTraceSettings = null;
    //Set the global settings so that nothing is logged.
    addTraceSettings(null, new TraceSettings(DebugLogLevel.DISABLED));
    addTraceSettings(null, TraceSettings.DISABLED);
  }
opendj3-server-dev/src/server/org/opends/server/api/ErrorLogPublisher.java
@@ -38,44 +38,40 @@
import org.opends.server.admin.std.server.ErrorLogPublisherCfg;
/**
 * This class defines the set of methods and structures that must be
 * implemented for a Directory Server error log publisher.
 * This class defines the set of methods and structures that must be implemented
 * for a Directory Server error log publisher.
 *
 * @param  <T>  The type of error log publisher configuration handled
 *              by this log publisher implementation.
 * @param <T>
 *          The type of error log publisher configuration handled by this log
 *          publisher implementation.
 */
@org.opends.server.types.PublicAPI(
     stability=org.opends.server.types.StabilityLevel.VOLATILE,
     mayInstantiate=false,
     mayExtend=true,
     mayInvoke=false)
    stability = org.opends.server.types.StabilityLevel.VOLATILE,
    mayInstantiate = false, mayExtend = true, mayInvoke = false)
public abstract class ErrorLogPublisher<T extends ErrorLogPublisherCfg>
    implements LogPublisher<T>
{
  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
  private static final LocalizedLogger logger = LocalizedLogger
      .getLoggerForThisClass();
  /**
   * The hash map that will be used to define specific log severities
   * for the various categories.
   * The hash map that will be used to define specific log severities for the
   * various categories.
   */
  protected Map<String, Set<Severity>> definedSeverities =
      new HashMap<String, Set<Severity>>();
  /**
   * The set of default log severities that will be used if no custom
   * severities have been defined for the associated category.
   * The set of default log severities that will be used if no custom severities
   * have been defined for the associated category.
   */
  protected Set<Severity> defaultSeverities = new HashSet<Severity>();
  /** {@inheritDoc} */
  @Override
  public boolean isConfigurationAcceptable(T configuration,
                      List<LocalizableMessage> unacceptableReasons)
      List<LocalizableMessage> unacceptableReasons)
  {
    // This default implementation does not perform any special
    // validation. It should be overridden by error log publisher
@@ -84,31 +80,26 @@
  }
  /**
   * Writes a message to the error log using the provided information. The
   * message's category and severity information will be used to determine
   * whether to actually log this message.
   *
   * @param message
   *          The message to be logged.
   */
  public void logError(LocalizableMessage message) {
    // TODO : to remove
  }
  /**
   * Writes a message to the error log using the provided information.
   * <p>
   * The category and severity information are used to determine whether to
   * actually log this message.
   * <p>
   * Category is defined using either short name (used for classes in well
   * defined packages) or fully qualified classname. Conversion to short name is
   * done automatically when loggers are created, see
   * {@code LoggingCategoryNames} for list of existing short names.
   *
   * @param category
   *          The category of the message.
   *          The category of the message, which is either a classname or a
   *          simple category name defined in {@code LoggingCategoryNames}
   *          class.
   * @param severity
   *          The severity of the message.
   * @param message
   *          The message to be logged.
   * @param exception
   *          The exception to be logged.
   *          The exception to be logged. May be {@code null}.
   */
  public abstract void log(String category, Severity severity,
      LocalizableMessage message, Throwable exception);
@@ -117,7 +108,9 @@
   * Check if a message should be logged for the provided category and severity.
   *
   * @param category
   *          The category of the message.
   *          The category of the message, which is either a classname or a
   *          simple category name defined in {@code LoggingCategoryNames}
   *          class.
   * @param severity
   *          The severity of the message.
   * @return {@code true} if the message should be logged, {@code false}
opendj3-server-dev/src/server/org/opends/server/loggers/AbstractLogger.java
@@ -68,8 +68,6 @@
    ConfigurationChangeListener<C>
{
  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
  /**
   * The storage designed to store log publishers. It is helpful in abstracting
   * away the methods used to manage the collection.
@@ -258,13 +256,13 @@
      }
      catch(ConfigException e)
      {
        logger.traceException(e);
        LocalizedLogger.getLoggerForThisClass().traceException(e);
        messages.add(e.getMessageObject());
        resultCode = DirectoryServer.getServerErrorResultCode();
      }
      catch (Exception e)
      {
        logger.traceException(e);
        LocalizedLogger.getLoggerForThisClass().traceException(e);
        messages.add(ERR_CONFIG_LOGGER_CANNOT_CREATE_LOGGER.get(
            config.dn(), stackTraceToSingleLineString(e)));
        resultCode = DirectoryServer.getServerErrorResultCode();
opendj3-server-dev/src/server/org/opends/server/loggers/DebugTracer.java
@@ -29,7 +29,6 @@
import java.util.Map;
import org.opends.server.api.DebugLogPublisher;
import org.opends.server.types.DebugLogCategory;
/**
 * Class for source-code tracing at the method level.
@@ -117,12 +116,13 @@
      StackTraceElement[] stackTrace = null;
      StackTraceElement[] filteredStackTrace = null;
      StackTraceElement callerFrame = null;
      final boolean hasException = (exception != null);
      for (PublisherSettings settings : publisherSettings)
      {
        TraceSettings activeSettings = settings.classSettings;
        Map<String, TraceSettings> methodSettings = settings.methodSettings;
        if (shouldLog(DebugLogCategory.CAUGHT, activeSettings) || methodSettings != null)
        if (shouldLog(hasException, activeSettings) || methodSettings != null)
        {
          if(stackTrace == null)
          {
@@ -156,7 +156,7 @@
            // suppose to be logged, continue.
            if (mSettings != null)
            {
              if(!shouldLog(DebugLogCategory.CAUGHT, mSettings))
              if(!shouldLog(hasException, mSettings))
              {
                continue;
              }
@@ -170,24 +170,24 @@
          String sourceLocation = callerFrame.getFileName() + ":" +
              callerFrame.getLineNumber();
          if (filteredStackTrace == null && activeSettings.stackDepth > 0)
          if (filteredStackTrace == null && activeSettings.getStackDepth() > 0)
          {
            StackTraceElement[] trace = exception == null ? stackTrace : exception.getStackTrace();
            StackTraceElement[] trace = hasException ? exception.getStackTrace() : stackTrace;
            filteredStackTrace =
                DebugStackTraceFormatter.SMART_FRAME_FILTER.
                    getFilteredStackTrace(trace);
          }
          if (exception == null)
          {
            settings.debugPublisher.trace(activeSettings, signature,
                sourceLocation, msg, filteredStackTrace);
          }
          else
          if (hasException)
          {
            settings.debugPublisher.traceException(activeSettings, signature,
                sourceLocation, msg, exception, filteredStackTrace);
          }
          else
          {
            settings.debugPublisher.trace(activeSettings, signature,
                sourceLocation, msg, filteredStackTrace);
          }
        }
      }
    }
@@ -204,30 +204,6 @@
  }
  /**
   * Indicates if logging is enabled for the provided debug log
   * category.
   *
   * @param logCategory
   *            Log category to check
   * @return {@code true} if logging is enabled, false otherwise.
   */
  boolean enabledFor(LogCategory logCategory)
  {
    for (PublisherSettings settings : publisherSettings)
    {
      TraceSettings activeSettings = settings.classSettings;
      Map<String, TraceSettings> methodSettings = settings.methodSettings;
      if (shouldLog(logCategory, activeSettings)
          || methodSettings != null)
      {
        return true;
      }
    }
    return false;
  }
  /**
   * Indicates if logging is enabled for at least one category
   * in a publisher.
   *
@@ -237,10 +213,7 @@
  {
    for (PublisherSettings settings : publisherSettings)
    {
      TraceSettings activeSettings = settings.classSettings;
      Map<String, TraceSettings> methodSettings = settings.methodSettings;
      if (shouldLog(activeSettings) || methodSettings != null)
      if (shouldLog(settings.classSettings) || settings.methodSettings != null)
      {
        return true;
      }
@@ -298,13 +271,11 @@
      // method call frame if any.
      for (StackTraceElement aStackTrace : stackTrace)
      {
        if(aStackTrace.getClassName().startsWith("java.lang.Thread"))
        if(aStackTrace.getClassName().startsWith(Thread.class.getName()))
        {
          continue;
        }
        if (!aStackTrace.getClassName().startsWith(
            "org.opends.server.loggers.debug"))
        if (!aStackTrace.getClassName().startsWith(DebugTracer.class.getName()))
        {
          return aStackTrace;
        }
@@ -314,15 +285,16 @@
    return null;
  }
  private boolean shouldLog(LogCategory messageCategory, TraceSettings activeSettings)
  /** Indicates if there is something to log. */
  private boolean shouldLog(boolean hasException, TraceSettings activeSettings)
  {
    return activeSettings.includeCategories != null &&
        activeSettings.includeCategories.contains(messageCategory);
    return activeSettings.getLevel() == TraceSettings.Level.ALL
        || (hasException && activeSettings.getLevel() == TraceSettings.Level.EXCEPTIONS_ONLY);
  }
  /** Indicates if at least one category is active for logging. */
  /** Indicates if there is something to log. */
  private boolean shouldLog(TraceSettings settings)
  {
    return settings.includeCategories != null && !settings.includeCategories.isEmpty();
    return settings.getLevel() != TraceSettings.Level.DISABLED;
  }
}
opendj3-server-dev/src/server/org/opends/server/loggers/ErrorLogger.java
@@ -121,20 +121,16 @@
  /**
   * Writes a message to the error log using the provided information.
   *
   * @param  message   The message to be logged.
   */
  // TODO : remove
  public static void logError(LocalizableMessage message)
  {
    log("category", Severity.SEVERE_ERROR, message, null);
  }
  /**
   * Writes a message to the error log using the provided information.
   * <p>
   * Category is defined using either short name (used for classes in well
   * defined packages) or fully qualified classname. Conversion to short name is
   * done automatically when loggers are created, see
   * {@code LoggingCategoryNames} for list of existing short names.
   *
   * @param category
   *          The category of the message.
   *          The category of the message, which is either a classname or a
   *          simple category name defined in {@code LoggingCategoryNames}
   *          class.
   * @param severity
   *          The severity of the message.
   * @param message
@@ -142,9 +138,9 @@
   * @param exception
   *          The exception to be logged. May be {@code null}.
   */
  public static void log(String category, Severity severity, LocalizableMessage message, Throwable exception)
  static void log(String category, Severity severity, LocalizableMessage message, Throwable exception)
  {
    for (ErrorLogPublisher publisher : loggerStorage.getLogPublishers())
    for (ErrorLogPublisher<?> publisher : loggerStorage.getLogPublishers())
    {
      publisher.log(category, severity, message, exception);
    }
@@ -164,12 +160,14 @@
   * Check if logging is enabled for the provided category and severity.
   *
   * @param category
   *            The category of logging event.
   *          The category of the logging event, which is either a classname or
   *          a simple category name defined in {@code LoggingCategoryNames}
   *          class.
   * @param severity
   *            The severity of logging event.
   *          The severity of logging event.
   * @return {@code true} if logger is enabled
   */
  public static boolean isEnabledFor(String category, Severity severity)
  static boolean isEnabledFor(String category, Severity severity)
  {
    if (Thread.currentThread() instanceof DirectoryThread)
    {
@@ -180,7 +178,7 @@
        return true;
      }
    }
    for (ErrorLogPublisher publisher : loggerStorage.getLogPublishers())
    for (ErrorLogPublisher<ErrorLogPublisherCfg> publisher : loggerStorage.getLogPublishers())
    {
      if (publisher.isEnabledFor(category, severity))
      {
opendj3-server-dev/src/server/org/opends/server/loggers/LogCategory.java
File was deleted
opendj3-server-dev/src/server/org/opends/server/loggers/LogLevel.java
File was deleted
opendj3-server-dev/src/server/org/opends/server/loggers/TextDebugLogPublisher.java
@@ -26,15 +26,21 @@
 */
package org.opends.server.loggers;
import static org.opends.messages.ConfigMessages.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
import java.io.File;
import java.io.IOException;
import java.util.*;
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;
import org.opends.server.admin.server.ConfigurationChangeListener;
import org.opends.server.admin.server.ConfigurationDeleteListener;
import org.opends.server.admin.std.meta.DebugLogPublisherCfgDefn;
import org.opends.server.admin.std.server.DebugTargetCfg;
import org.opends.server.admin.std.server.FileBasedDebugLogPublisherCfg;
import org.opends.server.api.DebugLogPublisher;
@@ -42,13 +48,14 @@
import org.opends.server.config.ConfigException;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.ServerContext;
import org.opends.server.types.*;
import org.opends.server.types.ConfigChangeResult;
import org.opends.server.types.DN;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.FilePermission;
import org.opends.server.types.InitializationException;
import org.opends.server.types.ResultCode;
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.*;
/**
 * The debug log publisher implementation that writes debug messages to files
 * on disk. It also maintains the rotation and retention polices of the log
@@ -190,26 +197,13 @@
    config.addDebugTargetAddListener(this);
    config.addDebugTargetDeleteListener(this);
    //Get the default/global settings
    LogLevel logLevel = LogLevel.ALL;
    Set<LogCategory> logCategories = null;
    if(!config.getDefaultDebugCategory().isEmpty())
    {
      logCategories =
          new HashSet<LogCategory>(config.getDefaultDebugCategory().size());
      for(DebugLogPublisherCfgDefn.DefaultDebugCategory category :
          config.getDefaultDebugCategory())
      {
        logCategories.add(DebugLogCategory.parse(category.toString()));
      }
    }
    TraceSettings defaultSettings =
        new TraceSettings(logLevel, logCategories,
                          config.isDefaultOmitMethodEntryArguments(),
                          config.isDefaultOmitMethodReturnValue(),
                          config.getDefaultThrowableStackFrames(),
                          config.isDefaultIncludeThrowableCause());
        new TraceSettings(TraceSettings.Level.getLevel(true, config
            .isDefaultDebugExceptionsOnly()), config
            .isDefaultOmitMethodEntryArguments(), config
            .isDefaultOmitMethodReturnValue(), config
            .getDefaultThrowableStackFrames(), config
            .isDefaultIncludeThrowableCause());
    addTraceSettings(null, defaultSettings);
@@ -270,27 +264,13 @@
    boolean adminActionRequired = false;
    List<LocalizableMessage> messages = new ArrayList<LocalizableMessage>();
    //Get the default/global settings
    LogLevel logLevel =
        DebugLogLevel.parse(config.getDefaultDebugLevel().toString());
    Set<LogCategory> logCategories = null;
    if(!config.getDefaultDebugCategory().isEmpty())
    {
      logCategories =
          new HashSet<LogCategory>(config.getDefaultDebugCategory().size());
      for(DebugLogPublisherCfgDefn.DefaultDebugCategory category :
          config.getDefaultDebugCategory())
      {
        logCategories.add(DebugLogCategory.parse(category.toString()));
      }
    }
    TraceSettings defaultSettings =
        new TraceSettings(logLevel, logCategories,
                          config.isDefaultOmitMethodEntryArguments(),
                          config.isDefaultOmitMethodReturnValue(),
                          config.getDefaultThrowableStackFrames(),
                          config.isDefaultIncludeThrowableCause());
        new TraceSettings(TraceSettings.Level.getLevel(true, config
            .isDefaultDebugExceptionsOnly()), config
            .isDefaultOmitMethodEntryArguments(), config
            .isDefaultOmitMethodReturnValue(), config
            .getDefaultThrowableStackFrames(), config
            .isDefaultIncludeThrowableCause());
    addTraceSettings(null, defaultSettings);
@@ -449,9 +429,9 @@
    if (stackTrace != null)
    {
      stack = DebugStackTraceFormatter.formatStackTrace(stackTrace,
          settings.stackDepth);
          settings.getStackDepth());
    }
    publish(DebugLogCategory.MESSAGE, signature, sourceLocation, msg, stack);
    publish(signature, sourceLocation, msg, stack);
  }
  /**
@@ -467,10 +447,10 @@
    String stack = null;
    if (stackTrace != null)
    {
      stack = DebugStackTraceFormatter.formatStackTrace(ex, settings.stackDepth,
          settings.includeCause);
      stack = DebugStackTraceFormatter.formatStackTrace(ex, settings.getStackDepth(),
          settings.isIncludeCause());
    }
    publish(DebugLogCategory.CAUGHT, signature, sourceLocation, message, stack);
    publish(signature, sourceLocation, message, stack);
  }
  /**
@@ -491,8 +471,8 @@
  // Publishes a record, optionally performing some "special" work:
  // - injecting a stack trace into the message
  // - format the message with argument values
  private void publish(LogCategory category, String signature, String sourceLocation,
                       String msg, String stack)
  private void publish(String signature, String sourceLocation, String msg,
                       String stack)
  {
    Thread thread = Thread.currentThread();
@@ -506,10 +486,6 @@
    buf.append(globalSequenceNumber++);
    buf.append(" ");
    // Emit debug category.
    buf.append(category);
    buf.append(" ");
    // Emit the debug level.
    buf.append("TRACE ");
@@ -554,20 +530,6 @@
    writer.writeRecord(buf.toString());
  }
  private String buildDefaultEntryMessage(Object[] args)
  {
    StringBuilder format = new StringBuilder();
    for (int i = 0; i < args.length; i++)
    {
      if (i != 0) format.append(", ");
      format.append("arg");
      format.append(i + 1);
      format.append("={%s}");
    }
    return DebugMessageFormatter.format(format.toString(), args);
  }
  /**
   * {@inheritDoc}
   */
opendj3-server-dev/src/server/org/opends/server/loggers/TextErrorLogPublisher.java
@@ -596,8 +596,8 @@
      sb.append(TimeThread.getLocalTime());
      sb.append("] category=").append(category).
      append(" severity=").append(severity).
      append(" msgID=").append(message.resourceName()).
      append("-").append(message.ordinal()).
      append(" resource=").append(message.resourceName()).
      append(" msgID=").append(message.ordinal()).
      append(" msg=").append(message);
      if (exception != null)
      {
opendj3-server-dev/src/server/org/opends/server/loggers/TraceSettings.java
@@ -26,64 +26,99 @@
 */
package org.opends.server.loggers;
import java.util.ArrayList;
import java.util.List;
import org.forgerock.i18n.LocalizableMessage;
import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.DebugLogCategory;
import org.opends.server.admin.server.ConfigurationChangeListener;
import org.opends.server.admin.std.server.DebugTargetCfg;
import org.opends.server.types.ConfigChangeResult;
import org.opends.server.types.ResultCode;
import org.opends.server.admin.server.ConfigurationChangeListener;
import org.opends.server.admin.std.meta.DebugTargetCfgDefn;
import org.opends.server.admin.std.server.DebugTargetCfg;
import java.util.*;
/**
 * This class encapsulates the trace settings in effect at a given traceing
 * scope.
 */
public class TraceSettings
    implements ConfigurationChangeListener<DebugTargetCfg>
public class TraceSettings implements
    ConfigurationChangeListener<DebugTargetCfg>
{
  /** A TraceSettings object representing a fully disabled trace state. */
  public static final TraceSettings DISABLED =
      new TraceSettings(DebugLogLevel.DISABLED);
      new TraceSettings(Level.DISABLED);
  private static final String STACK_DUMP_KEYWORD = "stack";
  private static final String INCLUDE_CAUSE_KEYWORD = "cause";
  private static final String SUPPRESS_ARG_KEYWORD = "noargs";
  private static final String SUPPRESS_RETVAL_KEYWORD = "noretval";
  private static final String INCLUDE_CATEGORY_KEYWORD = "category";
  private static final String LEVEL_KEYWORD = "level";
  private static final String ENABLED_KEYWORD = "enabled";
  private static final String EXCEPTIONS_ONLY_KEYWORD = "exceptionsonly";
  /**
   * The log level of this setting.
   * Represents the level of trace.
   */
  LogLevel level;
  enum Level
  {
    /** Log nothing. **/
    DISABLED,
    /** Log only exceptions. **/
    EXCEPTIONS_ONLY,
    /** Log everything. */
    ALL;
    /**
     * Returns the level corresponding to provided options.
     *
     * @param isEnabled
     *          Indicates if tracer is enabled.
     * @param isDebugExceptionsOnly
     *          Indicates if tracer should log only exceptions.
     * @return the level corresponding to options
     */
    static Level getLevel(boolean isEnabled, boolean isDebugExceptionsOnly)
    {
      if (isEnabled)
      {
        if (isDebugExceptionsOnly)
        {
          return Level.EXCEPTIONS_ONLY;
        }
        else
        {
          return Level.ALL;
        }
      }
      return Level.DISABLED;
    }
  }
  /**
   * The log categories for this setting.
   * The level of this setting.
   */
  Set<LogCategory> includeCategories;
  private Level level;
  /**
   * Indicates if method arguments should be logged.
   */
  boolean noArgs;
  private boolean noArgs;
  /**
   * Indicates if method return values should be logged.
   */
  boolean noRetVal;
  private boolean noRetVal;
  /**
   * The level of stack frames to include.
   */
  int stackDepth;
  private int stackDepth;
  /**
   * Indicates if the cause exception is included in exception messages.
   */
  boolean includeCause;
  private boolean includeCause;
  private DebugTargetCfg currentConfig;
@@ -92,69 +127,42 @@
   */
  public TraceSettings()
  {
    this(DebugLogLevel.VERBOSE, null, false, false, 0, false);
    this(Level.ALL, false, false, 0, false);
  }
  /**
   * Construct new trace settings at the specified log level.
   * Construct new trace settings at provided level.
   *
   * @param level the log level for this setting.
   * @param level
   *          Level for this settings.
   */
  public TraceSettings(LogLevel level)
  public TraceSettings(Level level)
  {
    this(level, null, false, false, 0, false);
    this(level, false, false, 0, false);
  }
  /**
   * Construct new trace settings at the specified log level and including
   * the categories.
   * Construct new trace settings at the specified level. Optionally turn off
   * arguments, return value in entry and exit messages, and specifying the
   * depth of stack traces and whether to include the cause of exceptions.
   *
   * @param level the log level for this setting.
   * @param includeCategories the categories to include in this setting.
   * @param level
   *          the level for this setting.
   * @param noArgs
   *          whether to include arguments in the log messages.
   * @param noRetVal
   *          whether to include return values in the log messages.
   * @param stackDepth
   *          the stack depth to display in log messages.
   * @param includeCause
   *          whether to include the cause of exceptions.
   */
  public TraceSettings(LogLevel level, Set<LogCategory> includeCategories)
  {
    this(level, includeCategories, false, false, 0, false);
  }
  /**
   * Construct new trace settings at the specified log level and including
   * the categories. Optionally turn off arguments and return value in entry
   * and exit messages.
   *
   * @param level the log level for this setting.
   * @param includeCategories the categories to include in this setting.
   * @param noArgs whether to include arguments in the log messages.
   * @param noRetVal whether to include return values in the log messages.
   */
  public TraceSettings(LogLevel level, Set<LogCategory> includeCategories,
                       boolean noArgs, boolean noRetVal)
  {
    this(level, includeCategories, noArgs, noRetVal, 0, false);
  }
  /**
   * Construct new trace settings at the specified log level and including
   * the categories. Optionally turn off arguments, return value in entry
   * and exit messages, and specifying the depth of stack traces and whether
   * to include the cause of exceptions.
   *
   * @param level the log level for this setting.
   * @param includeCategories the categories to include in this setting.
   * @param noArgs whether to include arguments in the log messages.
   * @param noRetVal whether to include return values in the log messages.
   * @param stackDepth the stack depth to display in log messages.
   * @param includeCause whether to include the cause of exceptions.
   */
  public TraceSettings(LogLevel level, Set<LogCategory> includeCategories,
                       boolean noArgs, boolean noRetVal, int stackDepth,
                       boolean includeCause)
  public TraceSettings(Level level, boolean noArgs,
      boolean noRetVal, int stackDepth, boolean includeCause)
  {
    this.level = level;
    this.includeCategories = includeCategories;
    this.noArgs = noArgs;
    this.noRetVal = noRetVal;
    this.stackDepth = stackDepth;
@@ -164,27 +172,14 @@
  /**
   * Construct a new trace settings from the provided configuration.
   *
   * @param config The debug target configuration that contains the information
   *               to use to initialize this trace setting.
   * @param config
   *          The debug target configuration that contains the information to
   *          use to initialize this trace setting.
   */
  public TraceSettings(DebugTargetCfg config)
  {
    this.level =
        DebugLogLevel.parse(config.getDebugLevel().toString());
    Set<LogCategory> logCategories = null;
    if(!config.getDebugCategory().isEmpty())
    {
      logCategories =
          new HashSet<LogCategory>(config.getDebugCategory().size());
      for(DebugTargetCfgDefn.DebugCategory category :
          config.getDebugCategory())
      {
        logCategories.add(DebugLogCategory.parse(category.toString()));
      }
    }
    this.includeCategories = logCategories;
        Level.getLevel(config.isEnabled(), config.isDebugExceptionsOnly());
    this.noArgs = config.isOmitMethodEntryArguments();
    this.noRetVal = config.isOmitMethodReturnValue();
    this.stackDepth = config.getThrowableStackFrames();
@@ -197,9 +192,8 @@
  /**
   * {@inheritDoc}
   */
  public boolean isConfigurationChangeAcceptable(
          DebugTargetCfg config,
          List<LocalizableMessage> unacceptableReasons)
  public boolean isConfigurationChangeAcceptable(DebugTargetCfg config,
      List<LocalizableMessage> unacceptableReasons)
  {
    // This should alwas be acceptable. We are assuing that the scope for this
    // trace setting is the same sine its part of the DN.
@@ -214,27 +208,14 @@
    // Default result code.
    ResultCode resultCode = ResultCode.SUCCESS;
    boolean adminActionRequired = false;
    ArrayList<LocalizableMessage> messages = new ArrayList<LocalizableMessage>();
    ArrayList<LocalizableMessage> messages =
        new ArrayList<LocalizableMessage>();
    // We can assume that the target scope did not change since its the
    // naming attribute. Changing it would result in a modify DN.
    this.level =
        DebugLogLevel.parse(config.getDebugLevel().toString());
    Set<LogCategory> logCategories = null;
    if(!config.getDebugCategory().isEmpty())
    {
      logCategories =
          new HashSet<LogCategory>(config.getDebugCategory().size());
      for(DebugTargetCfgDefn.DebugCategory category :
          config.getDebugCategory())
      {
        logCategories.add(DebugLogCategory.parse(category.toString()));
      }
    }
    this.includeCategories = logCategories;
        Level.getLevel(config.isEnabled(), config.isDebugExceptionsOnly());
    this.noArgs = config.isOmitMethodEntryArguments();
    this.noRetVal = config.isOmitMethodReturnValue();
    this.stackDepth = config.getThrowableStackFrames();
@@ -248,18 +229,17 @@
  /**
   * Parse trace settings from the string representation.
   *
   * @param value the trace settings string to be parsed.
   * @param value
   *          the trace settings string to be parsed.
   * @return the trace settings parsed from the string.
   */
  protected static TraceSettings parseTraceSettings(String value)
  {
    TraceSettings settings = null;
    if(value != null)
    if (value != null)
    {
      //Touch DebugLogLevel and DebugLogCategory so they are statically
      //initialized or parse will not see all the levels/categories.
      LogLevel level = DebugLogLevel.ERROR;
      Set<LogCategory> includeCategories = null;
      boolean enabled = false;
      boolean exceptionsOnly = false;
      boolean noArgs = false;
      boolean noRetVal = false;
      int stackDepth = 0;
@@ -267,163 +247,113 @@
      String[] keywords = value.split(",");
      for(String keyword : keywords)
      for (String keyword : keywords)
      {
        //See if stack dump keyword is included
        if(keyword.startsWith(STACK_DUMP_KEYWORD))
        if (keyword.startsWith(STACK_DUMP_KEYWORD))
        {
          //See if a stack depth is included
          if(keyword.length() == STACK_DUMP_KEYWORD.length())
          if (keyword.length() == STACK_DUMP_KEYWORD.length())
          {
            stackDepth = DebugStackTraceFormatter.COMPLETE_STACK;
          }
          else
          {
            int depthStart= keyword.indexOf("=", STACK_DUMP_KEYWORD.length());
            int depthStart = keyword.indexOf("=", STACK_DUMP_KEYWORD.length());
            if (depthStart == STACK_DUMP_KEYWORD.length())
            {
              try
              {
                stackDepth = Integer.valueOf(keyword.substring(depthStart+1));
                stackDepth = Integer.valueOf(keyword.substring(depthStart + 1));
              }
              catch(NumberFormatException nfe)
              catch (NumberFormatException nfe)
              { // TODO: i18n
                System.err.println("The keyword " + STACK_DUMP_KEYWORD +
                    " contains an invalid depth value. The complete stack " +
                    "will be included.");
                System.err.println("The keyword " + STACK_DUMP_KEYWORD
                    + " contains an invalid depth value. The complete stack "
                    + "will be included.");
              }
            }
          }
        }
        //See if to include cause in exception messages.
        else if(keyword.equals(INCLUDE_CAUSE_KEYWORD))
        else if (keyword.equals(INCLUDE_CAUSE_KEYWORD))
        {
          includeCause = true;
        }
        //See if to supress method arguments.
        else if(keyword.equals(SUPPRESS_ARG_KEYWORD))
        else if (keyword.equals(SUPPRESS_ARG_KEYWORD))
        {
          noArgs = true;
        }
        //See if to supress return values.
        else if(keyword.equals(SUPPRESS_RETVAL_KEYWORD))
        else if (keyword.equals(SUPPRESS_RETVAL_KEYWORD))
        {
          noRetVal = true;
        }
        else if(keyword.startsWith(INCLUDE_CATEGORY_KEYWORD))
        else if (keyword.equals(ENABLED_KEYWORD))
        {
          int categoryStart =
                keyword.indexOf("=", INCLUDE_CATEGORY_KEYWORD.length());
          if(keyword.length() == INCLUDE_CATEGORY_KEYWORD.length() ||
              categoryStart != INCLUDE_CATEGORY_KEYWORD.length())
          { // TODO: i18n
            System.err.println("The keyword " + INCLUDE_CATEGORY_KEYWORD +
                " does not contain an equal sign to define the set of " +
                "categories to include. All categories will be included.");
          }
          else
          {
            String[] categories =
                keyword.substring(categoryStart+1).split("[|]");
            includeCategories = new HashSet<LogCategory>();
            for(String category : categories)
            {
              try
              {
                includeCategories.add(DebugLogCategory.parse(category));
              }
              catch(IllegalArgumentException iae)
              { // TODO: i18n
                System.err.println("The keyword " + INCLUDE_CATEGORY_KEYWORD +
                    " contains an invalid debug log category: " +
                    iae.toString() + ". It will be ignored.");
              }
            }
          }
          enabled = true;
        }
        else if(keyword.startsWith(LEVEL_KEYWORD))
        else if (keyword.equals(EXCEPTIONS_ONLY_KEYWORD))
        {
          int levelStart =
                keyword.indexOf("=", LEVEL_KEYWORD.length());
          if(keyword.length() == LEVEL_KEYWORD.length() ||
              levelStart != LEVEL_KEYWORD.length())
          { // TODO: i18n
            System.err.println("The keyword " + LEVEL_KEYWORD +
                " does not contain an equal sign to specify the log level. " +
                "Default level of " + level.toString() + " will be used.");
          }
          else
          {
            try
            {
              level = LogLevel.parse(keyword.substring(levelStart+1));
            }
            catch(IllegalArgumentException iae)
            {  // TODO: i18n
              System.err.println("The keyword " + LEVEL_KEYWORD +
                  " contains an invalid debug log level: " +
                  iae.toString() + ". Default level of " + level.toString() +
                  " will be used.");
            }
          }
          exceptionsOnly = true;
        }
      }
      settings = new TraceSettings(level, includeCategories, noArgs, noRetVal,
                                   stackDepth, includeCause);
      settings =
          new TraceSettings(Level.getLevel(enabled, exceptionsOnly),
              noArgs, noRetVal, stackDepth, includeCause);
    }
    return settings;
  }
  /**
   * Get the log level of this setting.
   * @return the log level of this setting.
   * Get the level of this setting.
   *
   * @return the level of this setting.
   */
  public LogLevel getLevel() {
  public Level getLevel()
  {
    return level;
  }
  /**
   * Get the log categories for this setting.
   * @return the log categories for this setting.
   */
  public Set<LogCategory> getIncludeCategories() {
    return Collections.unmodifiableSet(includeCategories);
  }
  /**
   * Get whether method arguments should be logged.
   *
   * @return if method arguments should be logged.
   */
  public boolean isNoArgs() {
  public boolean isNoArgs()
  {
    return noArgs;
  }
  /**
   * Get whether method return values should be logged.
   *
   * @return if method return values should be logged.
   */
  public boolean isNoRetVal() {
  public boolean isNoRetVal()
  {
    return noRetVal;
  }
  /**
   * Get the level of stack frames to include.
   *
   * @return the level of stack frames to include.
   */
  public int getStackDepth() {
  public int getStackDepth()
  {
    return stackDepth;
  }
  /**
   * Get whether the cause exception is included in exception messages.
   *
   * @return if the cause exception is included in exception messages.
   */
  public boolean isIncludeCause() {
  public boolean isIncludeCause()
  {
    return includeCause;
  }
}
opendj3-server-dev/src/server/org/opends/server/tools/ConsoleDebugLogPublisher.java
@@ -36,10 +36,8 @@
import org.opends.server.core.ServerContext;
import org.opends.server.loggers.DebugMessageFormatter;
import org.opends.server.loggers.DebugStackTraceFormatter;
import org.opends.server.loggers.LogCategory;
import org.opends.server.loggers.TraceSettings;
import org.opends.server.types.DN;
import org.opends.server.types.DebugLogCategory;
import org.opends.server.types.InitializationException;
import org.opends.server.util.ServerConstants;
@@ -89,14 +87,12 @@
                           String msg,
                           StackTraceElement[] stackTrace)
  {
    LogCategory category = DebugLogCategory.MESSAGE;
    String stack = null;
    if(stackTrace != null)
    {
      stack = DebugStackTraceFormatter.formatStackTrace(stackTrace, settings.getStackDepth());
    }
    publish(category, msg, stack);
    publish(msg, stack);
  }
  /**
@@ -109,8 +105,6 @@
                          String msg,
                          Throwable ex, StackTraceElement[] stackTrace)
  {
    LogCategory category = DebugLogCategory.CAUGHT;
    String message = DebugMessageFormatter.format("%s caught={%s} %s(): %s",
        new Object[] { msg, ex, signature, sourceLocation });
@@ -121,7 +115,7 @@
          DebugStackTraceFormatter.formatStackTrace(ex, settings
              .getStackDepth(), settings.isIncludeCause());
    }
    publish(category, message, stack);
    publish(message, stack);
  }
  /**
@@ -136,17 +130,13 @@
  // Publishes a record, optionally performing some "special" work:
  // - injecting a stack trace into the message
  private void publish(LogCategory category, String msg, String stack)
  private void publish(String msg, String stack)
  {
    StringBuilder buf = new StringBuilder();
    // Emit the timestamp.
    buf.append(dateFormat.format(System.currentTimeMillis()));
    buf.append(" ");
    // Emit debug category.
    buf.append(category);
    buf.append(" ");
    // Emit the debug level.
    buf.append("TRACE ");
@@ -164,25 +154,6 @@
    err.print(buf);
  }
  private String buildDefaultEntryMessage(String signature,
                                          String sourceLocation, Object[] args)
  {
    StringBuilder format = new StringBuilder();
    format.append(signature);
    format.append("(");
    for (int i = 0; i < args.length; i++)
    {
      if (i != 0) format.append(", ");
      format.append("arg");
      format.append(i + 1);
      format.append("={%s}");
    }
    format.append("):");
    format.append(sourceLocation);
    return DebugMessageFormatter.format(format.toString(), args);
  }
  /**
   * {@inheritDoc}
   */
opendj3-server-dev/src/server/org/opends/server/tools/VerifyIndex.java
@@ -379,7 +379,7 @@
            TextDebugLogPublisher.getStartupTextDebugPublisher(
            new TextWriter.STREAM(out));
        debugLogPublisher.addTraceSettings(null,
            new TraceSettings(DebugLogLevel.ERROR));
            new TraceSettings());
        ErrorLogger.addErrorLogPublisher(errorLogPublisher);
        DebugLogger.addDebugLogPublisher(debugLogPublisher);
      }
opendj3-server-dev/src/server/org/opends/server/types/DebugLogCategory.java
File was deleted
opendj3-server-dev/src/server/org/opends/server/types/DebugLogLevel.java
File was deleted
opendj3-server-dev/src/snmp/src/org/opends/server/snmp/SNMPClassLoaderProvider.java
@@ -218,7 +218,7 @@
            if (this.snmpAdaptor == null) {
              throw new Exception(
                   ERR_SNMP_CONNHANDLER_BAD_CONFIGURATION.get());
                   ERR_SNMP_CONNHANDLER_BAD_CONFIGURATION.get().toString());
            }
            // Create the Usm MIB to allow user management
@@ -232,7 +232,7 @@
                    this.snmpAdaptor.registerUsmMib(server, this.UsmObjName);
                } catch (Exception ex) {
                    throw new Exception(
                      ERR_SNMP_CONNHANDLER_BAD_CONFIGURATION.get());
                      ERR_SNMP_CONNHANDLER_BAD_CONFIGURATION.get().toString());
                }
            }
@@ -246,7 +246,7 @@
            // Check if the snmpAdaptor is online
            if (this.snmpAdaptor.getState() != CommunicatorServer.ONLINE) {
                throw new Exception(
                      ERR_SNMP_CONNHANDLER_BAD_CONFIGURATION.get());
                      ERR_SNMP_CONNHANDLER_BAD_CONFIGURATION.get().toString());
            }
            // Check the trap destinations before trying to sent traps
@@ -282,7 +282,7 @@
        } catch (Exception ex) {
            throw new Exception(
                    ERR_SNMP_CONNHANDLER_BAD_CONFIGURATION.get());
                    ERR_SNMP_CONNHANDLER_BAD_CONFIGURATION.get().toString());
        }
    }
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/loggers/TraceSettingsTest.java
New file
@@ -0,0 +1,71 @@
/*
 * 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 org.opends.server.DirectoryServerTestCase;
import org.testng.annotations.Test;
import static org.testng.Assert.*;
@SuppressWarnings("javadoc")
public class TraceSettingsTest extends DirectoryServerTestCase
{
  @Test
  public void testParseTraceSettingsDisabled() throws Exception
  {
    TraceSettings settings = TraceSettings.parseTraceSettings("stack=2,noargs,cause,noretval");
    assertEquals(settings.getStackDepth(), 2);
    assertEquals(settings.isNoArgs(), true);
    assertEquals(settings.isIncludeCause(), true);
    assertEquals(settings.isNoRetVal(), true);
    assertEquals(settings.getLevel(), TraceSettings.Level.DISABLED);
  }
  @Test
  public void testParseTraceSettingsEnabled() throws Exception
  {
    TraceSettings settings = TraceSettings.parseTraceSettings("enabled,stack,noargs,cause,noretval");
    assertEquals(settings.getStackDepth(), DebugStackTraceFormatter.COMPLETE_STACK);
    assertEquals(settings.isNoArgs(), true);
    assertEquals(settings.isIncludeCause(), true);
    assertEquals(settings.isNoRetVal(), true);
    assertEquals(settings.getLevel(), TraceSettings.Level.ALL);
  }
  @Test
  public void testParseTraceSettingsExceptionsOnly() throws Exception
  {
    TraceSettings settings = TraceSettings.parseTraceSettings("enabled,exceptionsonly");
    assertEquals(settings.getStackDepth(), 0);
    assertEquals(settings.isNoArgs(), false);
    assertEquals(settings.isIncludeCause(), false);
    assertEquals(settings.isNoRetVal(), false);
    assertEquals(settings.getLevel(), TraceSettings.Level.EXCEPTIONS_ONLY);
  }
}
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java
@@ -237,7 +237,7 @@
   * @param taskEntry The task entry.
   * @param expectedState The expected completion state of the task.
   */
  @Test(enabled=false, dataProvider = "backups")
  @Test(dataProvider = "backups")
  public void testBackups(Entry taskEntry, TaskState expectedState)
       throws Exception
  {