@ThreadSafety(level=COMPLETELY_THREADSAFE) public final class Debug extends java.lang.Object implements java.io.Serializable
setEnabled(boolean)
methods, or it can also be
enabled without any code changes through the use of system properties. In
particular, the PROPERTY_DEBUG_ENABLED
,
PROPERTY_DEBUG_LEVEL
, and PROPERTY_DEBUG_TYPE
properties may be used to control debugging without the need to alter any
code within the application that uses the SDK.
java.util.logging
package with a logger name of
"com.unboundid.ldap.sdk
". The getLogger()
method may
be used to access the logger instance used by the LDAP SDK.
WARNING
level or higher to a specified file:
Debug.setEnabled(true); Logger logger = Debug.getLogger(); FileHandler fileHandler = new FileHandler(logFilePath); fileHandler.setLevel(Level.WARNING); logger.addHandler(fileHandler);
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
LOGGER_NAME
The name that will be used for the Java logger that will actually handle
the debug messages if debugging is enabled.
|
static java.lang.String |
PROPERTY_DEBUG_ENABLED
The name of the system property that will be used to enable debugging in
the UnboundID LDAP SDK for Java.
|
static java.lang.String |
PROPERTY_DEBUG_LEVEL
The name of the system property that will be used to set the initial level
for the debug logger.
|
static java.lang.String |
PROPERTY_DEBUG_TYPE
The name of the system property that will be used to indicate that
debugging should be enabled for specific types of messages.
|
static java.lang.String |
PROPERTY_INCLUDE_STACK_TRACE
The name of the system property that may be used to indicate whether stack
trace information for the thread calling the debug method should be
included in debug log messages.
|
Modifier and Type | Method and Description |
---|---|
static void |
debug(java.util.logging.Level l,
DebugType t,
java.lang.String m)
Writes a generic debug message, if appropriate.
|
static void |
debug(java.util.logging.Level l,
DebugType t,
java.lang.String m,
java.lang.Throwable e)
Writes a generic debug message, if appropriate.
|
static void |
debugASN1Read(ASN1Element e)
Writes debug information about the provided ASN.1 element that was read, if
appropriate.
|
static void |
debugASN1Read(java.util.logging.Level l,
ASN1Element e)
Writes debug information about the provided ASN.1 element that was read, if
appropriate.
|
static void |
debugASN1Write(ASN1Buffer b)
Writes debug information about the provided ASN.1 element to be written,
if appropriate.
|
static void |
debugASN1Write(ASN1Element e)
Writes debug information about the provided ASN.1 element to be written,
if appropriate.
|
static void |
debugASN1Write(java.util.logging.Level l,
ASN1Buffer b)
Writes debug information about the provided ASN.1 element to be written,
if appropriate.
|
static void |
debugASN1Write(java.util.logging.Level l,
ASN1Element e)
Writes debug information about the provided ASN.1 element to be written,
if appropriate.
|
static void |
debugCodingError(java.lang.Throwable t)
Writes debug information about a coding error detected in the use of the
LDAP SDK.
|
static void |
debugConnect(java.util.logging.Level l,
java.lang.String h,
int p)
Writes debug information to indicate that a connection has been
established, if appropriate.
|
static void |
debugConnect(java.util.logging.Level l,
java.lang.String h,
int p,
LDAPConnection c)
Writes debug information to indicate that a connection has been
established, if appropriate.
|
static void |
debugConnect(java.lang.String h,
int p)
Writes debug information to indicate that a connection has been
established, if appropriate.
|
static void |
debugConnect(java.lang.String h,
int p,
LDAPConnection c)
Writes debug information to indicate that a connection has been
established, if appropriate.
|
static void |
debugDisconnect(java.util.logging.Level l,
java.lang.String h,
int p,
DisconnectType t,
java.lang.String m,
java.lang.Throwable e)
Writes debug information to indicate that a connection has been
terminated, if appropriate.
|
static void |
debugDisconnect(java.util.logging.Level l,
java.lang.String h,
int p,
LDAPConnection c,
DisconnectType t,
java.lang.String m,
java.lang.Throwable e)
Writes debug information to indicate that a connection has been
terminated, if appropriate.
|
static void |
debugDisconnect(java.lang.String h,
int p,
DisconnectType t,
java.lang.String m,
java.lang.Throwable e)
Writes debug information to indicate that a connection has been
terminated, if appropriate.
|
static void |
debugDisconnect(java.lang.String h,
int p,
LDAPConnection c,
DisconnectType t,
java.lang.String m,
java.lang.Throwable e)
Writes debug information to indicate that a connection has been
terminated, if appropriate.
|
static boolean |
debugEnabled()
Indicates whether any form of debugging is enabled.
|
static boolean |
debugEnabled(DebugType debugType)
Indicates whether debugging is enabled for messages of the specified debug
type.
|
static void |
debugException(java.util.logging.Level l,
java.lang.Throwable t)
Writes debug information about the provided exception, if appropriate.
|
static void |
debugException(java.lang.Throwable t)
Writes debug information about the provided exception, if appropriate.
|
static void |
debugLDAPRequest(LDAPRequest r)
Writes debug information about the provided request, if appropriate.
|
static void |
debugLDAPRequest(LDAPRequest r,
int i,
LDAPConnection c)
Writes debug information about the provided request, if appropriate.
|
static void |
debugLDAPRequest(java.util.logging.Level l,
LDAPRequest r)
Writes debug information about the provided request, if appropriate.
|
static void |
debugLDAPRequest(java.util.logging.Level l,
LDAPRequest r,
int i,
LDAPConnection c)
Writes debug information about the provided request, if appropriate.
|
static void |
debugLDAPResult(LDAPResponse r)
Writes debug information about the provided result, if appropriate.
|
static void |
debugLDAPResult(LDAPResponse r,
LDAPConnection c)
Writes debug information about the provided result, if appropriate.
|
static void |
debugLDAPResult(java.util.logging.Level l,
LDAPResponse r)
Writes debug information about the provided result, if appropriate.
|
static void |
debugLDAPResult(java.util.logging.Level l,
LDAPResponse r,
LDAPConnection c)
Writes debug information about the provided result, if appropriate.
|
static void |
debugLDIFRead(LDIFRecord r)
Writes debug information about the provided record read from LDIF, if
appropriate.
|
static void |
debugLDIFRead(java.util.logging.Level l,
LDIFRecord r)
Writes debug information about the provided record read from LDIF, if
appropriate.
|
static void |
debugLDIFWrite(LDIFRecord r)
Writes debug information about the provided LDIF record to be written, if
if appropriate.
|
static void |
debugLDIFWrite(java.util.logging.Level l,
LDIFRecord r)
Writes debug information about the provided LDIF record to be written, if
appropriate.
|
static void |
debugMonitor(Entry e,
java.lang.String m)
Writes debug information about monitor entry parsing.
|
static void |
debugMonitor(java.util.logging.Level l,
Entry e,
java.lang.String m)
Writes debug information about monitor entry parsing, if appropriate.
|
static java.util.EnumSet<DebugType> |
getDebugTypes()
Retrieves the set of debug types that will be used if debugging is enabled.
|
static java.util.logging.Logger |
getLogger()
Retrieves the logger that will be used to write the debug messages.
|
static boolean |
includeStackTrace()
Indicates whether log messages should include a stack trace of the thread
that invoked the debug method.
|
static void |
initialize()
Initializes this debugger with the default settings.
|
static void |
initialize(java.util.Properties properties)
Initializes this debugger with settings from the provided set of
properties.
|
static void |
setEnabled(boolean enabled)
Specifies whether debugging should be enabled.
|
static void |
setEnabled(boolean enabled,
java.util.Set<DebugType> types)
Specifies whether debugging should be enabled.
|
static void |
setIncludeStackTrace(boolean includeStackTrace)
Specifies whether log messages should include a stack trace of the thread
that invoked the debug method.
|
public static final java.lang.String PROPERTY_DEBUG_ENABLED
com.unboundid.ldap.sdk.debug.enabled
". If it is set,
then it should have a value of either "true" or "false".public static final java.lang.String PROPERTY_INCLUDE_STACK_TRACE
com.unboundid.ldap.sdk.debug.includeStackTrace
". If it is set,
then it should have a value of either "true" or "false".public static final java.lang.String PROPERTY_DEBUG_LEVEL
com.unboundid.ldap.sdk.debug.level
". If it is set, then it should
be one of the strings "SEVERE
", "WARNING
", "INFO
",
"CONFIG
", "FINE
", "FINER
", or "FINEST
".public static final java.lang.String PROPERTY_DEBUG_TYPE
com.unboundid.ldap.sdk.debug.type
". If it is set, then it should
be a comma-delimited list of the names of the desired debug types. See the
DebugType
enum for the available debug types.public static final java.lang.String LOGGER_NAME
public static void initialize()
public static void initialize(java.util.Properties properties)
properties
- The set of properties to use to initialize this
debugger.public static java.util.logging.Logger getLogger()
public static boolean debugEnabled()
true
if debugging is enabled, or false
if not.public static boolean debugEnabled(DebugType debugType)
debugType
- The debug type for which to make the determination.true
if debugging is enabled for messages of the specified
debug type, or false
if not.public static void setEnabled(boolean enabled)
enabled
- Specifies whether debugging should be enabled.public static void setEnabled(boolean enabled, java.util.Set<DebugType> types)
enabled
- Specifies whether debugging should be enabled.types
- The set of debug types that should be enabled. It may be
null
or empty to indicate that it should be for
all debug types.public static boolean includeStackTrace()
true
if log messages should include a stack trace of the
thread that invoked the debug method, or false
if not.public static void setIncludeStackTrace(boolean includeStackTrace)
includeStackTrace
- Indicates whether log messages should include a
stack trace of the thread that invoked the debug
method.public static java.util.EnumSet<DebugType> getDebugTypes()
public static void debugException(java.lang.Throwable t)
WARNING
level.t
- The exception for which debug information should be written.public static void debugException(java.util.logging.Level l, java.lang.Throwable t)
l
- The log level that should be used for the debug information.t
- The exception for which debug information should be written.public static void debugConnect(java.lang.String h, int p)
INFO
level.h
- The address of the server to which the connection was
established.p
- The port of the server to which the connection was established.public static void debugConnect(java.util.logging.Level l, java.lang.String h, int p)
l
- The log level that should be used for the debug information.h
- The address of the server to which the connection was
established.p
- The port of the server to which the connection was established.public static void debugConnect(java.lang.String h, int p, LDAPConnection c)
INFO
level.h
- The address of the server to which the connection was
established.p
- The port of the server to which the connection was established.c
- The connection object for the connection that has been
established. It may be null
for historic reasons, but
should be non-null
in new uses.public static void debugConnect(java.util.logging.Level l, java.lang.String h, int p, LDAPConnection c)
l
- The log level that should be used for the debug information.h
- The address of the server to which the connection was
established.p
- The port of the server to which the connection was established.c
- The connection object for the connection that has been
established. It may be null
for historic reasons, but
should be non-null
in new uses.public static void debugDisconnect(java.lang.String h, int p, DisconnectType t, java.lang.String m, java.lang.Throwable e)
INFO
level.h
- The address of the server to which the connection was
established.p
- The port of the server to which the connection was established.t
- The disconnect type.m
- The disconnect message, if available.e
- The disconnect cause, if available.public static void debugDisconnect(java.util.logging.Level l, java.lang.String h, int p, DisconnectType t, java.lang.String m, java.lang.Throwable e)
l
- The log level that should be used for the debug information.h
- The address of the server to which the connection was
established.p
- The port of the server to which the connection was established.t
- The disconnect type.m
- The disconnect message, if available.e
- The disconnect cause, if available.public static void debugDisconnect(java.lang.String h, int p, LDAPConnection c, DisconnectType t, java.lang.String m, java.lang.Throwable e)
INFO
level.h
- The address of the server to which the connection was
established.p
- The port of the server to which the connection was established.c
- The connection object for the connection that has been closed.
It may be null
for historic reasons, but should be
non-null
in new uses.t
- The disconnect type.m
- The disconnect message, if available.e
- The disconnect cause, if available.public static void debugDisconnect(java.util.logging.Level l, java.lang.String h, int p, LDAPConnection c, DisconnectType t, java.lang.String m, java.lang.Throwable e)
l
- The log level that should be used for the debug information.h
- The address of the server to which the connection was
established.p
- The port of the server to which the connection was established.c
- The connection object for the connection that has been closed.
It may be null
for historic reasons, but should be
non-null
in new uses.t
- The disconnect type.m
- The disconnect message, if available.e
- The disconnect cause, if available.public static void debugLDAPRequest(LDAPRequest r)
INFO
level.r
- The LDAP request for which debug information should be written.public static void debugLDAPRequest(java.util.logging.Level l, LDAPRequest r)
l
- The log level that should be used for the debug information.r
- The LDAP request for which debug information should be written.public static void debugLDAPRequest(LDAPRequest r, int i, LDAPConnection c)
INFO
level.r
- The LDAP request for which debug information should be written.i
- The message ID for the request that will be sent. It may be
negative if no message ID is available.c
- The connection on which the request will be sent. It may be
null
for historic reasons, but should be
non-null
in new uses.public static void debugLDAPRequest(java.util.logging.Level l, LDAPRequest r, int i, LDAPConnection c)
l
- The log level that should be used for the debug information.r
- The LDAP request for which debug information should be written.i
- The message ID for the request that will be sent. It may be
negative if no message ID is available.c
- The connection on which the request will be sent. It may be
null
for historic reasons, but should be
non-null
in new uses.public static void debugLDAPResult(LDAPResponse r)
INFO
level.r
- The result for which debug information should be written.public static void debugLDAPResult(java.util.logging.Level l, LDAPResponse r)
l
- The log level that should be used for the debug information.r
- The result for which debug information should be written.public static void debugLDAPResult(LDAPResponse r, LDAPConnection c)
INFO
level.r
- The result for which debug information should be written.c
- The connection on which the response was received. It may be
null
for historic reasons, but should be
non-null
in new uses.public static void debugLDAPResult(java.util.logging.Level l, LDAPResponse r, LDAPConnection c)
l
- The log level that should be used for the debug information.r
- The result for which debug information should be written.c
- The connection on which the response was received. It may be
null
for historic reasons, but should be
non-null
in new uses.public static void debugASN1Write(ASN1Element e)
INFO
level.e
- The ASN.1 element for which debug information should be written.public static void debugASN1Write(java.util.logging.Level l, ASN1Element e)
l
- The log level that should be used for the debug information.e
- The ASN.1 element for which debug information should be written.public static void debugASN1Write(ASN1Buffer b)
INFO
level.b
- The ASN.1 buffer with the information to be written.public static void debugASN1Write(java.util.logging.Level l, ASN1Buffer b)
l
- The log level that should be used for the debug information.b
- The ASN1Buffer with the information to be written.public static void debugASN1Read(ASN1Element e)
INFO
level.e
- The ASN.1 element for which debug information should be written.public static void debugASN1Read(java.util.logging.Level l, ASN1Element e)
l
- The log level that should be used for the debug information.e
- The ASN.1 element for which debug information should be written.public static void debugLDIFWrite(LDIFRecord r)
INFO
level.r
- The LDIF record for which debug information should be written.public static void debugLDIFWrite(java.util.logging.Level l, LDIFRecord r)
l
- The log level that should be used for the debug information.r
- The LDIF record for which debug information should be written.public static void debugLDIFRead(LDIFRecord r)
INFO
level.r
- The LDIF record for which debug information should be written.public static void debugLDIFRead(java.util.logging.Level l, LDIFRecord r)
l
- The log level that should be used for the debug information.r
- The LDIF record for which debug information should be written.public static void debugMonitor(Entry e, java.lang.String m)
FINE
level.e
- The entry containing the monitor information being parsed.m
- The message to be written to the debug logger.public static void debugMonitor(java.util.logging.Level l, Entry e, java.lang.String m)
l
- The log level that should be used for the debug information.e
- The entry containing the monitor information being parsed.m
- The message to be written to the debug logger.public static void debugCodingError(java.lang.Throwable t)
SEVERE
level.t
- The Throwable
object that was created and will be thrown
as a result of the coding error.public static void debug(java.util.logging.Level l, DebugType t, java.lang.String m)
l
- The log level that should be used for the debug information.t
- The debug type to use to determine whether to write the message.m
- The message to be written.public static void debug(java.util.logging.Level l, DebugType t, java.lang.String m, java.lang.Throwable e)
l
- The log level that should be used for the debug information.t
- The debug type to use to determine whether to write the message.m
- The message to be written.e
- An exception to include with the log message.