From 89257ed62bf7cdbf833c8c73d523b9b13e969fc9 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Fri, 31 Jan 2014 14:55:30 +0000
Subject: [PATCH] Checkpoint commit for OPENDJ-1288 : Migrate I18n and logging support to i18n framework and SLF4J
---
opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_zh_CN.properties | 18
opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java | 2
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/TraceSettings.java | 322 ++++++---------
opendj-sdk/opendj3-server-dev/ivy.xml | 2
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/api/DebugLogPublisher.java | 3
opendj-sdk/opendj3-server-dev/resource/schema/02-config.ldif | 45 -
opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/loggers/TraceSettingsTest.java | 71 +++
opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_zh_TW.properties | 18
opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_ko.properties | 18
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/ErrorLogger.java | 34
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/tools/VerifyIndex.java | 2
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/TextDebugLogPublisher.java | 104 +---
opendj-sdk/opendj3-server-dev/src/admin/messages/FileBasedDebugLogPublisherCfgDefn.properties | 19
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/DebugTracer.java | 68 --
opendj-sdk/opendj3-server-dev/src/snmp/src/org/opends/server/snmp/SNMPClassLoaderProvider.java | 8
opendj-sdk/opendj3-server-dev/src/admin/messages/DebugLogPublisherCfgDefn.properties | 19
opendj-sdk/opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/DebugLogPublisherConfiguration.xml | 101 ----
opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn.properties | 20
opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_fr.properties | 20
opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_de.properties | 18
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/AbstractLogger.java | 6
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/TextErrorLogPublisher.java | 4
opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_ja.properties | 18
/dev/null | 85 ----
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/api/ErrorLogPublisher.java | 59 +-
opendj-sdk/opendj3-server-dev/resource/config/config.ldif | 3
opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_es.properties | 18
opendj-sdk/opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/DebugTargetConfiguration.xml | 95 ---
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/tools/ConsoleDebugLogPublisher.java | 35 -
29 files changed, 357 insertions(+), 878 deletions(-)
diff --git a/opendj-sdk/opendj3-server-dev/ivy.xml b/opendj-sdk/opendj3-server-dev/ivy.xml
index 95dd79f..637221b 100644
--- a/opendj-sdk/opendj3-server-dev/ivy.xml
+++ b/opendj-sdk/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;">
diff --git a/opendj-sdk/opendj3-server-dev/resource/config/config.ldif b/opendj-sdk/opendj3-server-dev/resource/config/config.ldif
index 1d5ce70..eb494fe 100644
--- a/opendj-sdk/opendj3-server-dev/resource/config/config.ldif
+++ b/opendj-sdk/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
diff --git a/opendj-sdk/opendj3-server-dev/resource/schema/02-config.ldif b/opendj-sdk/opendj3-server-dev/resource/schema/02-config.ldif
index d25b449..5617744 100644
--- a/opendj-sdk/opendj3-server-dev/resource/schema/02-config.ldif
+++ b/opendj-sdk/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 $
diff --git a/opendj-sdk/opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/DebugLogPublisherConfiguration.xml b/opendj-sdk/opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/DebugLogPublisherConfiguration.xml
index 678098e..5c27b4c 100644
--- a/opendj-sdk/opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/DebugLogPublisherConfiguration.xml
+++ b/opendj-sdk/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>
diff --git a/opendj-sdk/opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/DebugTargetConfiguration.xml b/opendj-sdk/opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/DebugTargetConfiguration.xml
index a3c0636..7a9577a 100644
--- a/opendj-sdk/opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/DebugTargetConfiguration.xml
+++ b/opendj-sdk/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>
diff --git a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugLogPublisherCfgDefn.properties b/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugLogPublisherCfgDefn.properties
index b218f2c..177e19d 100644
--- a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugLogPublisherCfgDefn.properties
+++ b/opendj-sdk/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.
diff --git a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn.properties b/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn.properties
index 9488494..beeba44 100644
--- a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn.properties
+++ b/opendj-sdk/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.
diff --git a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_de.properties b/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_de.properties
index 820602e..928682d 100644
--- a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_de.properties
+++ b/opendj-sdk/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.
diff --git a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_es.properties b/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_es.properties
index f978cdc..a23dc7e 100644
--- a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_es.properties
+++ b/opendj-sdk/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.
diff --git a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_fr.properties b/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_fr.properties
index 6197d56..34bd2ec 100644
--- a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_fr.properties
+++ b/opendj-sdk/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.
diff --git a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_ja.properties b/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_ja.properties
index a073399..ceda1a2 100644
--- a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_ja.properties
+++ b/opendj-sdk/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
diff --git a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_ko.properties b/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_ko.properties
index 58e39e7..04b5285 100644
--- a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_ko.properties
+++ b/opendj-sdk/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.
diff --git a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_zh_CN.properties b/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_zh_CN.properties
index 8bd3771..74f512a 100644
--- a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_zh_CN.properties
+++ b/opendj-sdk/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
diff --git a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_zh_TW.properties b/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_zh_TW.properties
index 58e39e7..04b5285 100644
--- a/opendj-sdk/opendj3-server-dev/src/admin/messages/DebugTargetCfgDefn_zh_TW.properties
+++ b/opendj-sdk/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.
diff --git a/opendj-sdk/opendj3-server-dev/src/admin/messages/FileBasedDebugLogPublisherCfgDefn.properties b/opendj-sdk/opendj3-server-dev/src/admin/messages/FileBasedDebugLogPublisherCfgDefn.properties
index 5136661..e31cc66 100644
--- a/opendj-sdk/opendj3-server-dev/src/admin/messages/FileBasedDebugLogPublisherCfgDefn.properties
+++ b/opendj-sdk/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.
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/api/DebugLogPublisher.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/api/DebugLogPublisher.java
index 259e49b..6bf2797 100644
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/api/DebugLogPublisher.java
+++ b/opendj-sdk/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);
}
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/api/ErrorLogPublisher.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/api/ErrorLogPublisher.java
index 71c862d..d507223 100644
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/api/ErrorLogPublisher.java
+++ b/opendj-sdk/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}
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/AbstractLogger.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/AbstractLogger.java
index 5943b28..44d90b3 100644
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/AbstractLogger.java
+++ b/opendj-sdk/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();
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/DebugTracer.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/DebugTracer.java
index d02e4e3..8efbba0 100644
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/DebugTracer.java
+++ b/opendj-sdk/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;
}
}
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/ErrorLogger.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/ErrorLogger.java
index bbd4449..cc99896 100644
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/ErrorLogger.java
+++ b/opendj-sdk/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))
{
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/LogCategory.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/LogCategory.java
deleted file mode 100644
index d66b7d3..0000000
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/LogCategory.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * 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 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2013 ForgeRock AS.
- */
-package org.opends.server.loggers;
-
-import java.util.ArrayList;
-
-/**
- * The category class defines a set of standard logging types that
- * can be used to control logging output.
- */
-public class LogCategory
-{
- private static ArrayList<LogCategory> known = new ArrayList<LogCategory>();
-
-
- /**
- * The non-localized name of the type.
- */
- private final String name;
-
- /**
- * Create a named type.
- * <p>
- * Note that this constructor is "protected" to allow sub-classing.
- *
- * @param name the name of the category, for example "MESSAGE".
- */
- protected LogCategory(String name) {
- if (name == null) {
- throw new NullPointerException();
- }
- this.name = name;
-
- known.add(this);
- }
-
- /**
- * Return the non-localized string name of the Level.
- *
- * @return non-localized name
- */
- public String getName() {
- return name;
- }
-
- /**
- * Retrieves the string representation of this log category.
- *
- * @return the non-localized name of the LogCategory, for example "ENTRY".
- */
- public final String toString() {
- return name;
- }
-
- /**
- * Parse a category name string into a LogCategory.
- * <p>
- * For example:
- * <ul>
- * <li> "EXIT"
- * <li> "caught"
- * </ul>
- * @param name string to be parsed
- * @throws IllegalArgumentException if the value is not valid.
- * Known names are the categories defined by this class or created
- * by this class with appropriate package access, or new levels defined
- * or created by subclasses.
- *
- * @return The parsed category
- */
- public static synchronized LogCategory parse(String name)
- throws IllegalArgumentException {
- // Check that name is not null.
- name.length();
-
- // Look for a known Level with the given name.
- for (int i = 0; i < known.size(); i++) {
- LogCategory c = known.get(i);
- if (name.equalsIgnoreCase(c.name)) {
- return c;
- }
- }
-
- // OK, we've tried everything and failed
- throw new IllegalArgumentException("Bad category \"" + name + "\"");
- }
-}
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/LogLevel.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/LogLevel.java
deleted file mode 100644
index 7356f64..0000000
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/LogLevel.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * 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 2006-2008 Sun Microsystems, Inc.
- */
-
-package org.opends.server.loggers;
-
-import static org.opends.server.util.ServerConstants.LOG_SEVERITY_DISABLED;
-import static org.opends.server.util.ServerConstants.LOG_SEVERITY_ALL;
-
-import java.util.*;
-
-
-/**
- * The Level class defines a set of standard logging levels that
- * can be used to control logging output. The logging Level objects
- * are ordered and are specified by ordered integers. Enabling logging
- * at a given level also enables logging at all higher levels.
- */
-public class LogLevel
-{
- private static ArrayList<LogLevel> known = new ArrayList<LogLevel>();
-
- /**
- * OFF is a special level that can be used to turn off logging.
- * This level is initialized to <CODE>Integer.MAX_VALUE</CODE>.
- */
- public static final LogLevel DISABLED = new LogLevel(
- LOG_SEVERITY_DISABLED,Integer.MAX_VALUE);
-
-
-
- /**
- * ALL indicates that all messages should be logged.
- * This level is initialized to <CODE>Integer.MIN_VALUE</CODE>.
- */
- public static final LogLevel ALL = new LogLevel(
- LOG_SEVERITY_ALL, Integer.MIN_VALUE);
-
-
-
- /**
- * The non-localized name of the level.
- */
- private final String name;
-
- /**
- * The integer value of the level.
- */
- private final int value;
-
-
- /**
- * Create a named Level with a given integer value.
- * <p>
- * Note that this constructor is "protected" to allow subclassing.
- *
- * @param name the name of the Level, for example "SEVERE".
- * @param value an integer value for the level.
- */
- protected LogLevel(String name, int value) {
- if (name == null) {
- throw new NullPointerException();
- }
- this.name = name;
- this.value = value;
-
- known.add(this);
- }
-
- /**
- * Return the non-localized string name of the Level.
- *
- * @return non-localized name
- */
- public String getName() {
- return name;
- }
-
- /**
- * Retrieve the string reprentation of this log level.
- *
- * @return the non-localized name of the Level, for example "INFO".
- */
- public final String toString() {
- return name;
- }
-
- /**
- * Get the integer value for this level. This integer value
- * can be used for efficient ordering comparisons between
- * Level objects.
- * @return the integer value for this level.
- */
- public final int intValue() {
- return value;
- }
-
- /**
- * Parse a level name string into a LogLevel.
- * <p>
- * The argument string may consist of either a level name
- * or an integer value.
- * <p>
- * For example:
- * <ul>
- * <li> "SEVERE"
- * <li> "1000"
- * </ul>
- * @param name string to be parsed
- * @throws IllegalArgumentException if the value is not valid.
- * Valid values are integers between <CODE>Integer.MIN_VALUE</CODE>
- * and <CODE>Integer.MAX_VALUE</CODE>, and all known level names.
- * Known names are the levels defined by this class (i.e. <CODE>FINE</CODE>,
- * <CODE>FINER</CODE>, <CODE>FINEST</CODE>), or created by this class with
- * appropriate package access, or new levels defined or created
- * by subclasses.
- *
- * @return The parsed value. Passing an integer that corresponds to a
- * known name (eg 700) will return the associated name
- * (eg <CODE>CONFIG</CODE>). Passing an integer that does not (eg 1)
- * will return a new level name initialized to that value.
- */
- public static synchronized LogLevel parse(String name)
- throws IllegalArgumentException {
- // Check that name is not null.
- name.length();
-
- // Look for a known Level with the given non-localized name.
- for (int i = 0; i < known.size(); i++) {
- LogLevel l = known.get(i);
- if (name.equalsIgnoreCase(l.name)) {
- return l;
- }
- }
-
- // Now, check if the given name is an integer. If so,
- // first look for a Level with the given value and then
- // if necessary create one.
- try {
- int x = Integer.parseInt(name);
- for (int i = 0; i < known.size(); i++) {
- LogLevel l = known.get(i);
- if (l.value == x) {
- return l;
- }
- }
- // Create a new Level.
- return new LogLevel(name, x);
- } catch (NumberFormatException ex) {
- // Not an integer.
- // Drop through.
- }
-
- // OK, we've tried everything and failed
- throw new IllegalArgumentException("Bad level \"" + name + "\"");
- }
-
- /**
- * Compare two objects for value equality.
- *
- * @param ox the LogLevel object to test.
- * @return true if and only if the two objects have the same level value.
- */
- public boolean equals(Object ox) {
- try {
- LogLevel lx = (LogLevel)ox;
- return (lx.value == this.value);
- } catch (Exception ex) {
- return false;
- }
- }
-
- /**
- * Retrives the hashcode for this log level. It is just the integer value.
- *
- * @return the hashCode for this log level.
- */
- public int hashCode()
- {
- return this.value;
- }
-
- /**
- * Returns the string representations of all the levels. All strings will
- * be in lower case.
- * @return The string representations of the levels in lower case.
- */
- public static HashSet<String> getLevelStrings()
- {
- HashSet<String> strings = new HashSet<String>();
-
- for (int i = 0; i < known.size(); i++)
- {
- strings.add(known.get(i).name.toLowerCase());
- }
-
- return strings;
- }
-}
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/TextDebugLogPublisher.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/TextDebugLogPublisher.java
index dde2ad8..6617174 100644
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/TextDebugLogPublisher.java
+++ b/opendj-sdk/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}
*/
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/TextErrorLogPublisher.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/TextErrorLogPublisher.java
index 1c23c56..dc1e4cb 100644
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/TextErrorLogPublisher.java
+++ b/opendj-sdk/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)
{
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/TraceSettings.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/TraceSettings.java
index 5a60900..08b315c 100644
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/loggers/TraceSettings.java
+++ b/opendj-sdk/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;
}
}
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/tools/ConsoleDebugLogPublisher.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/tools/ConsoleDebugLogPublisher.java
index 37a8a39..1531c71 100644
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/tools/ConsoleDebugLogPublisher.java
+++ b/opendj-sdk/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}
*/
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/tools/VerifyIndex.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/tools/VerifyIndex.java
index 8607509..83601ac 100644
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/tools/VerifyIndex.java
+++ b/opendj-sdk/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);
}
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/types/DebugLogCategory.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/types/DebugLogCategory.java
deleted file mode 100644
index c31355b..0000000
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/types/DebugLogCategory.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * 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 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2014 ForgeRock AS
- */
-package org.opends.server.types;
-
-import static org.opends.server.util.ServerConstants.*;
-import org.opends.server.loggers.LogCategory;
-
-/**
- * Logging categories for the debug log messages.
- */
-@org.opends.server.types.PublicAPI(
- stability=org.opends.server.types.StabilityLevel.UNCOMMITTED,
- mayInstantiate=false,
- mayExtend=false,
- mayInvoke=true)
-public final class DebugLogCategory extends LogCategory
-{
- /**
- * The log category that will be used for general debug messages.
- */
- public static final LogCategory MESSAGE = new DebugLogCategory(
- DEBUG_CATEGORY_MESSAGE);
-
- /**
- * The log category that will be used for caught exception messages.
- * Only logger related classes may use this.
- */
- public static final LogCategory CAUGHT = new DebugLogCategory(
- DEBUG_CATEGORY_CAUGHT);
-
-
- /**
- * Constructor for the DebugLogCategory class.
- *
- * @param name The name of the level.
- */
- public DebugLogCategory(String name)
- {
- super(name);
- }
-}
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/types/DebugLogLevel.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/types/DebugLogLevel.java
deleted file mode 100644
index a578789..0000000
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/types/DebugLogLevel.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * 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 2006-2008 Sun Microsystems, Inc.
- */
-package org.opends.server.types;
-
-import static org.opends.server.util.ServerConstants.*;
-import org.opends.server.loggers.LogLevel;
-
-/**
- * Logging levels for the debug log messages.
- */
-@org.opends.server.types.PublicAPI(
- stability=org.opends.server.types.StabilityLevel.VOLATILE,
- mayInstantiate=false,
- mayExtend=false,
- mayInvoke=true)
-public class DebugLogLevel extends LogLevel
-{
-
- /**
- * The log level that will be used for verbose messages.
- */
- public static final LogLevel VERBOSE = new DebugLogLevel(
- DEBUG_SEVERITY_VERBOSE, 100);
-
-
-
- /**
- * The log level that will be used for informational messages.
- */
- public static final LogLevel INFO = new DebugLogLevel(
- DEBUG_SEVERITY_INFO, 200);
-
-
-
- /**
- * The log level that will be used for warning messages.
- */
- public static final LogLevel WARNING = new DebugLogLevel(
- DEBUG_SEVERITY_WARNING, 300);
-
-
-
- /**
- * The log level that will be used for error messages.
- */
- public static final LogLevel ERROR = new DebugLogLevel(
- DEBUG_SEVERITY_ERROR, 400);
-
-
-
- /**
- * Constructor for the DebugLogLevel class.
- *
- * @param name The name of the level.
- * @param value The value of the level.
- */
- protected DebugLogLevel(String name, int value)
- {
- super(name, value);
- }
-}
-
diff --git a/opendj-sdk/opendj3-server-dev/src/snmp/src/org/opends/server/snmp/SNMPClassLoaderProvider.java b/opendj-sdk/opendj3-server-dev/src/snmp/src/org/opends/server/snmp/SNMPClassLoaderProvider.java
index e73daf4..f8d49db 100644
--- a/opendj-sdk/opendj3-server-dev/src/snmp/src/org/opends/server/snmp/SNMPClassLoaderProvider.java
+++ b/opendj-sdk/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());
}
}
diff --git a/opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/loggers/TraceSettingsTest.java b/opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/loggers/TraceSettingsTest.java
new file mode 100644
index 0000000..2375fdd
--- /dev/null
+++ b/opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/loggers/TraceSettingsTest.java
@@ -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);
+ }
+}
diff --git a/opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java b/opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java
index 5d54d39..bb226d3 100644
--- a/opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tasks/TestBackupAndRestore.java
+++ b/opendj-sdk/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
{
--
Gitblit v1.10.0