@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class JSONLDAPConnectionLogger extends LDAPConnectionLogger
Constructor and Description |
---|
JSONLDAPConnectionLogger(java.util.logging.Handler logHandler,
JSONLDAPConnectionLoggerProperties properties)
Creates a new instance of this LDAP connection logger that will write
messages to the provided log handler using the given set of properties.
|
Modifier and Type | Method and Description |
---|---|
boolean |
flushAfterConnectMessages()
Indicates whether the log handler should be flushed after logging each
successful or failed connection attempt.
|
boolean |
flushAfterDisconnectMessages()
Indicates whether the log handler should be flushed after logging each
disconnect.
|
boolean |
flushAfterFinalResultMessages()
Indicates whether the log handler should be flushed after logging the final
result for each operation.
|
boolean |
flushAfterNonFinalResultMessages()
Indicates whether the log handler should be flushed after logging each
non-final result (including search result entries, search result
references, and intermediate response messages).
|
boolean |
flushAfterRequestMessages()
Indicates whether the log handler should be flushed after logging each
request.
|
java.util.Set<java.lang.String> |
getAttributesToRedact()
Retrieves a set containing the names or OIDs of the attributes whose values
should be redacted from log messages.
|
java.util.Set<OperationType> |
getOperationTypes()
Retrieves the set of operation types for which to log requests and
results.
|
Schema |
getSchema()
Retrieves the schema that will be used to identify alternate names and OIDs
for attributes whose values should be redacted.
|
boolean |
includeAddAttributeNames()
Indicates whether log messages about add requests should include the names
of the attributes provided in the request.
|
boolean |
includeAddAttributeValues()
Indicates whether log messages about add requests should include the values
of the attributes provided in the request.
|
boolean |
includeControlOIDs()
Indicates whether request and result log messages should include the OIDs
of any controls included in that request or result.
|
boolean |
includeModifyAttributeNames()
Indicates whether log messages about modify requests should include the
names of the attributes modified in the request.
|
boolean |
includeModifyAttributeValues()
Indicates whether log messages about modify requests should include the
values of the attributes modified in the request.
|
boolean |
includeSearchEntryAttributeNames()
Indicates whether log messages about search result entries should include
the names of the attributes in the returned entry.
|
boolean |
includeSearchEntryAttributeValues()
Indicates whether log messages about search result entries should include
the values of the attributes in the returned entry.
|
void |
logAbandonRequest(LDAPConnectionInfo connectionInfo,
int messageID,
int messageIDToAbandon,
java.util.List<Control> requestControls)
Performs any appropriate log processing that may be needed when an abandon
request is sent over a connection.
|
void |
logAddRequest(LDAPConnectionInfo connectionInfo,
int messageID,
ReadOnlyAddRequest addRequest)
Performs any appropriate log processing that may be needed when an add
request is sent over a connection.
|
void |
logAddResult(LDAPConnectionInfo connectionInfo,
int requestMessageID,
LDAPResult addResult)
Performs any appropriate log processing that may be needed when an add
response is received over a connection, or when an exception is caught
while waiting for or attempting to decode an add response.
|
void |
logBindRequest(LDAPConnectionInfo connectionInfo,
int messageID,
SASLBindRequest bindRequest)
Performs any appropriate log processing that may be needed when a SASL
bind request is sent over a connection.
|
void |
logBindRequest(LDAPConnectionInfo connectionInfo,
int messageID,
SimpleBindRequest bindRequest)
Performs any appropriate log processing that may be needed when a simple
bind request is sent over a connection.
|
void |
logBindResult(LDAPConnectionInfo connectionInfo,
int requestMessageID,
BindResult bindResult)
Performs any appropriate log processing that may be needed when a bind
response is received over a connection, or when an exception is caught
while waiting for or attempting to decode a bind response.
|
void |
logCompareRequest(LDAPConnectionInfo connectionInfo,
int messageID,
ReadOnlyCompareRequest compareRequest)
Performs any appropriate log processing that may be needed when a compare
request is sent over a connection.
|
void |
logCompareResult(LDAPConnectionInfo connectionInfo,
int requestMessageID,
LDAPResult compareResult)
Performs any appropriate log processing that may be needed when a compare
response is received over a connection, or when an exception is caught
while waiting for or attempting to decode a compare response.
|
void |
logConnect(LDAPConnectionInfo connectionInfo,
java.lang.String host,
java.net.InetAddress inetAddress,
int port)
Performs any appropriate log processing that may be needed when a
connection is established.
|
void |
logConnectFailure(LDAPConnectionInfo connectionInfo,
java.lang.String host,
int port,
LDAPException connectException)
Performs any appropriate log processing that may be needed when an attempt
to establish a connection fails.
|
boolean |
logConnects()
Indicates whether to log successful and failed connection attempts.
|
void |
logDeleteRequest(LDAPConnectionInfo connectionInfo,
int messageID,
ReadOnlyDeleteRequest deleteRequest)
Performs any appropriate log processing that may be needed when a delete
request is sent over a connection.
|
void |
logDeleteResult(LDAPConnectionInfo connectionInfo,
int requestMessageID,
LDAPResult deleteResult)
Performs any appropriate log processing that may be needed when a delete
response is received over a connection, or when an exception is caught
while waiting for or attempting to decode a delete response.
|
void |
logDisconnect(LDAPConnectionInfo connectionInfo,
java.lang.String host,
int port,
DisconnectType disconnectType,
java.lang.String disconnectMessage,
java.lang.Throwable disconnectCause)
Performs any appropriate log processing that may be needed when a
connection is disconnected, regardless of whether the disconnect was
initiated by the client or server.
|
boolean |
logDisconnects()
Indicates whether to log disconnects.
|
void |
logExtendedRequest(LDAPConnectionInfo connectionInfo,
int messageID,
ExtendedRequest extendedRequest)
Performs any appropriate log processing that may be needed when an extended
request is sent over a connection.
|
void |
logExtendedResult(LDAPConnectionInfo connectionInfo,
int requestMessageID,
ExtendedResult extendedResult)
Performs any appropriate log processing that may be needed when an extended
response is received over a connection, or when an exception is caught
while waiting for or attempting to decode an extended response.
|
boolean |
logFinalResults()
Indicates whether to log messages about the final reults for operations
included in the set of operation types returned by the
getOperationTypes() method. |
void |
logIntermediateResponse(LDAPConnectionInfo connectionInfo,
int messageID,
IntermediateResponse intermediateResponse)
Performs any appropriate log processing that may be needed when an
intermediate response message is received over a connection.
|
boolean |
logIntermediateResponses()
Indicates whether to log messages about each intermediate response returned
in the course of processing an operation.
|
void |
logModifyDNRequest(LDAPConnectionInfo connectionInfo,
int messageID,
ReadOnlyModifyDNRequest modifyDNRequest)
Performs any appropriate log processing that may be needed when a modify DN
request is sent over a connection.
|
void |
logModifyDNResult(LDAPConnectionInfo connectionInfo,
int requestMessageID,
LDAPResult modifyDNResult)
Performs any appropriate log processing that may be needed when a modify DN
response is received over a connection, or when an exception is caught
while waiting for or attempting to decode a modify DN response.
|
void |
logModifyRequest(LDAPConnectionInfo connectionInfo,
int messageID,
ReadOnlyModifyRequest modifyRequest)
Performs any appropriate log processing that may be needed when a modify
request is sent over a connection.
|
void |
logModifyResult(LDAPConnectionInfo connectionInfo,
int requestMessageID,
LDAPResult modifyResult)
Performs any appropriate log processing that may be needed when a modify
response is received over a connection, or when an exception is caught
while waiting for or attempting to decode a modify response.
|
boolean |
logRequests()
Indicates whether to log messages about requests for operations included
in the set of operation types returned by the
getOperationTypes()
method. |
boolean |
logSearchEntries()
Indicates whether to log messages about each search result entry returned
for search operations.
|
void |
logSearchEntry(LDAPConnectionInfo connectionInfo,
int requestMessageID,
SearchResultEntry searchEntry)
Performs any appropriate log processing that may be needed when a search
result entry response is received over a connection.
|
void |
logSearchReference(LDAPConnectionInfo connectionInfo,
int requestMessageID,
SearchResultReference searchReference)
Performs any appropriate log processing that may be needed when a search
result reference response is received over a connection.
|
boolean |
logSearchReferences()
Indicates whether to log messages about each search result reference
returned for search operations.
|
void |
logSearchRequest(LDAPConnectionInfo connectionInfo,
int messageID,
ReadOnlySearchRequest searchRequest)
Performs any appropriate log processing that may be needed when a search
request is sent over a connection.
|
void |
logSearchResult(LDAPConnectionInfo connectionInfo,
int requestMessageID,
SearchResult searchResult)
Performs any appropriate log processing that may be needed when a search
result done response is received over a connection, or when an exception is
caught while waiting for or attempting to decode a search result.
|
void |
logUnbindRequest(LDAPConnectionInfo connectionInfo,
int messageID,
java.util.List<Control> requestControls)
Performs any appropriate log processing that may be needed when an unbind
request is sent over a connection.
|
public JSONLDAPConnectionLogger(@NotNull java.util.logging.Handler logHandler, @NotNull JSONLDAPConnectionLoggerProperties properties)
logHandler
- The log handler that will be used to actually log the
messages. All messages will be logged with a level of
INFO
.properties
- The properties to use for this logger.public boolean logConnects()
true
if connection attempts should be logged, or
false
if not.public boolean logDisconnects()
true
if disconnects should be logged, or false
if
not.public boolean logRequests()
getOperationTypes()
method. Operation requests will be logged by default.true
if operation requests should be logged for
appropriate operation types, or false
if not.public boolean logFinalResults()
getOperationTypes()
method. Final operation results will be
logged by default.true
if operation requests should be logged for
appropriate operation types, or false
if not.public boolean logSearchEntries()
getOperationTypes()
method includes
OperationType.SEARCH
. Search result entries will not be logged by
default.true
if search result entries should be logged, or
false
if not.public boolean logSearchReferences()
getOperationTypes()
method includes
OperationType.SEARCH
. Search result references will not be logged
by default.true
if search result references should be logged, or
false
if not.public boolean logIntermediateResponses()
true
if intermediate response messages should be logged,
or false
if not.@NotNull public java.util.Set<OperationType> getOperationTypes()
public boolean includeAddAttributeNames()
true
if add attribute names should be logged, or
false
if not.public boolean includeAddAttributeValues()
includeAddAttributeNames
returns true
. Values for
attributes named in the set returned by the
getAttributesToRedact()
method will be replaced with a value of
"[REDACTED]". Add attribute names (but not values) will be
logged by default.true
if add attribute values should be logged, or
false
if not.public boolean includeModifyAttributeNames()
true
if modify attribute names should be logged, or
false
if not.public boolean includeModifyAttributeValues()
includeModifyAttributeNames
returns true
.
Values for attributes named in the set returned by the
getAttributesToRedact()
method will be replaced with a value of
"[REDACTED]". Modify attribute names (but not values) will be
logged by default.true
if modify attribute values should be logged, or
false
if not.public boolean includeSearchEntryAttributeNames()
true
if search result entry attribute names should be
logged, or false
if not.public boolean includeSearchEntryAttributeValues()
includeSearchEntryAttributeNames
returns
true
. Values for attributes named in the set returned by the
getAttributesToRedact()
method will be replaced with a value of
"[REDACTED]". Entry attribute names (but not values) will be
logged by default.true
if search result entry attribute values should be
logged, or false
if not.@NotNull public java.util.Set<java.lang.String> getAttributesToRedact()
public boolean includeControlOIDs()
true
if request control OIDs should be logged, or
false
if not.public boolean flushAfterConnectMessages()
true
if the log handler should be flushed after logging
each connection attempt, or false
if not.public boolean flushAfterDisconnectMessages()
true
if the log handler should be flushed after logging
each disconnect, or false
if not.public boolean flushAfterRequestMessages()
true
if the log handler should be flushed after logging
each request, or false
if not.public boolean flushAfterNonFinalResultMessages()
true
if the log handler should be flushed after logging
each non-final result, or false
if not.public boolean flushAfterFinalResultMessages()
true
if the log handler should be flushed after logging
each final result, or false
if not.@Nullable public Schema getSchema()
null
if no schema should be used.public void logConnect(@NotNull LDAPConnectionInfo connectionInfo, @NotNull java.lang.String host, @NotNull java.net.InetAddress inetAddress, int port)
logConnect
in class LDAPConnectionLogger
connectionInfo
- Information about the connection that has been
established. It will not be null
.host
- The string representation of the address to which
the connection was established. It will not be
null
.inetAddress
- The InetAddress
representation of the
address to which the connection was established.
It will not be null
.port
- The port to which the connection was established.public void logConnectFailure(@NotNull LDAPConnectionInfo connectionInfo, @NotNull java.lang.String host, int port, @NotNull LDAPException connectException)
logConnectFailure
in class LDAPConnectionLogger
connectionInfo
- Information about the connection that has been
established. It will not be null
.host
- The string representation of the address to which
the connection was established. It will not be
null
.port
- The port to which the connection was established.connectException
- An exception with information about the failed
connection attempt. It will not be
null
.public void logDisconnect(@NotNull LDAPConnectionInfo connectionInfo, @NotNull java.lang.String host, int port, @NotNull DisconnectType disconnectType, @Nullable java.lang.String disconnectMessage, @Nullable java.lang.Throwable disconnectCause)
logDisconnect
in class LDAPConnectionLogger
connectionInfo
- Information about the connection that has been
disconnected. It will not be null
.host
- The string representation of the address to
which the connection was established. It will
not be null
.port
- The port to which the connection was
established.disconnectType
- The general reason for the disconnect. It will
not be null
.disconnectMessage
- A human-readable message with additional
information about the disconnect. It may be
null
if no additional information is
available.disconnectCause
- A Throwable
that may have been
responsible for the disconnect. It may be
null
if the disconnect was not caused by
an exception or error.public void logAbandonRequest(@NotNull LDAPConnectionInfo connectionInfo, int messageID, int messageIDToAbandon, @NotNull java.util.List<Control> requestControls)
logAbandonRequest
in class LDAPConnectionLogger
connectionInfo
- Information about the connection that will be
used to send the abandon request. It will not
be null
.messageID
- The LDAP message ID for the abandon request
that is to be sent.messageIDToAbandon
- The LDAP message ID for the request that is to
be abandoned.requestControls
- The list of controls included in the abandon
request.public void logAddRequest(@NotNull LDAPConnectionInfo connectionInfo, int messageID, @NotNull ReadOnlyAddRequest addRequest)
logAddRequest
in class LDAPConnectionLogger
connectionInfo
- Information about the connection that will be used
to send the add request. It will not be
null
.messageID
- The LDAP message ID for the add request that is to
be sent.addRequest
- The add request that is to be sent. This is
provided only for informational purposes, and it
must not be altered in any way. It will not be
null
.public void logAddResult(@NotNull LDAPConnectionInfo connectionInfo, int requestMessageID, @NotNull LDAPResult addResult)
logAddResult
in class LDAPConnectionLogger
connectionInfo
- Information about the connection used to send the
add request. It will not be null
.requestMessageID
- The LDAP message ID for the associated add
request.addResult
- The add result that was received from the server,
or that was generated from an exception. It will
not be null
.public void logBindRequest(@NotNull LDAPConnectionInfo connectionInfo, int messageID, @NotNull SimpleBindRequest bindRequest)
logBindRequest
in class LDAPConnectionLogger
connectionInfo
- Information about the connection that will be used
to send the bind request. It will not be
null
.messageID
- The LDAP message ID for the add request that is to
be sent.bindRequest
- The bind request that is to be sent. This is
provided only for informational purposes, and it
must not be altered in any way. It will not be
null
.public void logBindRequest(@NotNull LDAPConnectionInfo connectionInfo, int messageID, @NotNull SASLBindRequest bindRequest)
logBindRequest
in class LDAPConnectionLogger
connectionInfo
- Information about the connection that will be used
to send the bind request. It will not be
null
.messageID
- The LDAP message ID for the add request that is to
be sent.bindRequest
- The bind request that is to be sent. This is
provided only for informational purposes, and it
must not be altered in any way. It will not be
null
.public void logBindResult(@NotNull LDAPConnectionInfo connectionInfo, int requestMessageID, @NotNull BindResult bindResult)
logBindResult
in class LDAPConnectionLogger
connectionInfo
- Information about the connection used to send the
add request. It will not be null
.requestMessageID
- The LDAP message ID for the associated add
request.bindResult
- The bind result that was received from the
server, or that was generated from an exception.
It will not be null
.public void logCompareRequest(@NotNull LDAPConnectionInfo connectionInfo, int messageID, @NotNull ReadOnlyCompareRequest compareRequest)
logCompareRequest
in class LDAPConnectionLogger
connectionInfo
- Information about the connection that will be used
to send the compare request. It will not be
null
.messageID
- The LDAP message ID for the compare request that is
to be sent.compareRequest
- The compare request that is to be sent. This is
provided only for informational purposes, and it
must not be altered in any way. It will not be
null
.public void logCompareResult(@NotNull LDAPConnectionInfo connectionInfo, int requestMessageID, @NotNull LDAPResult compareResult)
logCompareResult
in class LDAPConnectionLogger
connectionInfo
- Information about the connection used to send the
compare request. It will not be null
.requestMessageID
- The LDAP message ID for the associated compare
request.compareResult
- The compare result that was received from the
server, or that was generated from an exception.
It will not be null
.public void logDeleteRequest(@NotNull LDAPConnectionInfo connectionInfo, int messageID, @NotNull ReadOnlyDeleteRequest deleteRequest)
logDeleteRequest
in class LDAPConnectionLogger
connectionInfo
- Information about the connection that will be used
to send the delete request. It will not be
null
.messageID
- The LDAP message ID for the delete request that is
to be sent.deleteRequest
- The delete request that is to be sent. This is
provided only for informational purposes, and it
must not be altered in any way. It will not be
null
.public void logDeleteResult(@NotNull LDAPConnectionInfo connectionInfo, int requestMessageID, @NotNull LDAPResult deleteResult)
logDeleteResult
in class LDAPConnectionLogger
connectionInfo
- Information about the connection used to send the
delete request. It will not be null
.requestMessageID
- The LDAP message ID for the associated delete
request.deleteResult
- The delete result that was received from the
server, or that was generated from an exception.
It will not be null
.public void logExtendedRequest(@NotNull LDAPConnectionInfo connectionInfo, int messageID, @NotNull ExtendedRequest extendedRequest)
logExtendedRequest
in class LDAPConnectionLogger
connectionInfo
- Information about the connection that will be used
to send the extended request. It will not be
null
.messageID
- The LDAP message ID for the extended request that
is to be sent.extendedRequest
- The extended request that is to be sent. This is
provided only for informational purposes, and it
must not be altered in any way. It will not be
null
.public void logExtendedResult(@NotNull LDAPConnectionInfo connectionInfo, int requestMessageID, @NotNull ExtendedResult extendedResult)
logExtendedResult
in class LDAPConnectionLogger
connectionInfo
- Information about the connection used to send the
extended request. It will not be null
.requestMessageID
- The LDAP message ID for the associated extended
request.extendedResult
- The extended result that was received from the
server, or that was generated from an exception.
It will not be null
.public void logModifyRequest(@NotNull LDAPConnectionInfo connectionInfo, int messageID, @NotNull ReadOnlyModifyRequest modifyRequest)
logModifyRequest
in class LDAPConnectionLogger
connectionInfo
- Information about the connection that will be used
to send the modify request. It will not be
null
.messageID
- The LDAP message ID for the modify request that is
to be sent.modifyRequest
- The modify request that is to be sent. This is
provided only for informational purposes, and it
must not be altered in any way. It will not be
null
.public void logModifyResult(@NotNull LDAPConnectionInfo connectionInfo, int requestMessageID, @NotNull LDAPResult modifyResult)
logModifyResult
in class LDAPConnectionLogger
connectionInfo
- Information about the connection used to send the
modify request. It will not be null
.requestMessageID
- The LDAP message ID for the associated modify
request.modifyResult
- The modify result that was received from the
server, or that was generated from an exception.
It will not be null
.public void logModifyDNRequest(@NotNull LDAPConnectionInfo connectionInfo, int messageID, @NotNull ReadOnlyModifyDNRequest modifyDNRequest)
logModifyDNRequest
in class LDAPConnectionLogger
connectionInfo
- Information about the connection that will be used
to send the modify DN request. It will not be
null
.messageID
- The LDAP message ID for the modify DN request that
is to be sent.modifyDNRequest
- The modify DN request that is to be sent. This is
provided only for informational purposes, and it
must not be altered in any way. It will not be
null
.public void logModifyDNResult(@NotNull LDAPConnectionInfo connectionInfo, int requestMessageID, @NotNull LDAPResult modifyDNResult)
logModifyDNResult
in class LDAPConnectionLogger
connectionInfo
- Information about the connection used to send the
modify DN request. It will not be null
.requestMessageID
- The LDAP message ID for the associated modify DN
request.modifyDNResult
- The modify DN result that was received from the
server, or that was generated from an exception.
It will not be null
.public void logSearchRequest(@NotNull LDAPConnectionInfo connectionInfo, int messageID, @NotNull ReadOnlySearchRequest searchRequest)
logSearchRequest
in class LDAPConnectionLogger
connectionInfo
- Information about the connection that will be used
to send the search request. It will not be
null
.messageID
- The LDAP message ID for the search request that is
to be sent.searchRequest
- The search request that is to be sent. This is
provided only for informational purposes, and it
must not be altered in any way. It will not be
null
.public void logSearchEntry(@NotNull LDAPConnectionInfo connectionInfo, int requestMessageID, @NotNull SearchResultEntry searchEntry)
logSearchEntry
in class LDAPConnectionLogger
connectionInfo
- Information about the connection used to send the
search request. It will not be null
.requestMessageID
- The LDAP message ID for the associated search
request.searchEntry
- The search result entry that was received from
the server. It will not be null
.public void logSearchReference(@NotNull LDAPConnectionInfo connectionInfo, int requestMessageID, @NotNull SearchResultReference searchReference)
logSearchReference
in class LDAPConnectionLogger
connectionInfo
- Information about the connection used to send the
search request. It will not be null
.requestMessageID
- The LDAP message ID for the associated search
request.searchReference
- The search result reference that was received
from the server. It will not be null
.public void logSearchResult(@NotNull LDAPConnectionInfo connectionInfo, int requestMessageID, @NotNull SearchResult searchResult)
logSearchResult
in class LDAPConnectionLogger
connectionInfo
- Information about the connection used to send the
search request. It will not be null
.requestMessageID
- The LDAP message ID for the associated search
request.searchResult
- The search result that was received from the
server, or that was generated from an exception.
It will not be null
.public void logUnbindRequest(@NotNull LDAPConnectionInfo connectionInfo, int messageID, @NotNull java.util.List<Control> requestControls)
logUnbindRequest
in class LDAPConnectionLogger
connectionInfo
- Information about the connection that will be
used to send the unbind request. It will not
be null
.messageID
- The LDAP message ID for the unbind request
that is to be sent.requestControls
- The list of controls included in the unbind
request.public void logIntermediateResponse(@NotNull LDAPConnectionInfo connectionInfo, int messageID, @NotNull IntermediateResponse intermediateResponse)
logIntermediateResponse
in class LDAPConnectionLogger
connectionInfo
- Information about the connection over which
the intermediate response was received. It
will not be null
.messageID
- The LDAP message ID for the intermediate
response message.intermediateResponse
- The intermediate response message that was
received.