org.opends.server.loggers
Class AccessLogger

java.lang.Object
  extended by org.opends.server.loggers.AccessLogger
All Implemented Interfaces:
ConfigurationAddListener<AccessLogPublisherCfg>, ConfigurationChangeListener<AccessLogPublisherCfg>, ConfigurationDeleteListener<AccessLogPublisherCfg>

public class AccessLogger
extends java.lang.Object
implements ConfigurationAddListener<AccessLogPublisherCfg>, ConfigurationDeleteListener<AccessLogPublisherCfg>, ConfigurationChangeListener<AccessLogPublisherCfg>

This class defines the wrapper that will invoke all registered access loggers for each type of request received or response sent.


Constructor Summary
AccessLogger()
           
 
Method Summary
static void addAccessLogPublisher(AccessLogPublisher<?> publisher)
          Add an access log publisher to the access logger.
 ConfigChangeResult applyConfigurationAdd(AccessLogPublisherCfg config)
          Adds a new configuration to this add listener.
 ConfigChangeResult applyConfigurationChange(AccessLogPublisherCfg config)
          Applies the configuration changes to this change listener.
 ConfigChangeResult applyConfigurationDelete(AccessLogPublisherCfg config)
          Deletes an existing configuration from this delete listener.
static AccessLogger getInstance()
          Retrieve the singleton instance of this class.
 void initializeAccessLogger(java.util.List<AccessLogPublisherCfg> configs)
          Initializes all the access log publishers.
 boolean isConfigurationAddAcceptable(AccessLogPublisherCfg config, java.util.List<Message> unacceptableReasons)
          Indicates whether the proposed addition of a new configuration is acceptable to this add listener.
 boolean isConfigurationChangeAcceptable(AccessLogPublisherCfg config, java.util.List<Message> unacceptableReasons)
          Indicates whether the proposed change to the configuration is acceptable to this change listener.
 boolean isConfigurationDeleteAcceptable(AccessLogPublisherCfg config, java.util.List<Message> unacceptableReasons)
          Indicates whether the proposed deletion of an existing configuration is acceptable to this delete listener.
static void logAbandonIntermediateMessage(AbandonOperation abandonOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided abandon operation.
static void logAbandonRequest(AbandonOperation abandonOperation)
          Writes a message to the access logger with information about the abandon request associated with the provided abandon operation.
static void logAbandonResult(AbandonOperation abandonOperation)
          Writes a message to the access logger with information about the result of the provided abandon operation.
static void logAddIntermediateMessage(AddOperation addOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided add operation.
static void logAddRequest(AddOperation addOperation)
          Writes a message to the access logger with information about the add request associated with the provided add operation.
static void logAddResponse(AddOperation addOperation)
          Writes a message to the access logger with information about the add response associated with the provided add operation.
static void logBindIntermediateMessage(BindOperation bindOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided bind operation.
static void logBindRequest(BindOperation bindOperation)
          Writes a message to the access logger with information about the bind request associated with the provided bind operation.
static void logBindResponse(BindOperation bindOperation)
          Writes a message to the access logger with information about the bind response associated with the provided bind operation.
static void logCompareIntermediateMessage(CompareOperation compareOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided compare operation.
static void logCompareRequest(CompareOperation compareOperation)
          Writes a message to the access logger with information about the compare request associated with the provided compare operation.
static void logCompareResponse(CompareOperation compareOperation)
          Writes a message to the access logger with information about the compare response associated with the provided compare operation.
static void logConnect(ClientConnection clientConnection)
          Writes a message to the access logger with information about a new client connection that has been established, regardless of whether it will be immediately terminated.
static void logConnectIntermediateMessage(ClientConnection clientConnection, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided client connection.
static void logDeleteIntermediateMessage(DeleteOperation deleteOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided delete operation.
static void logDeleteRequest(DeleteOperation deleteOperation)
          Writes a message to the access logger with information about the delete request associated with the provided delete operation.
static void logDeleteResponse(DeleteOperation deleteOperation)
          Writes a message to the access logger with information about the delete response associated with the provided delete operation.
static void logDisconnect(ClientConnection clientConnection, DisconnectReason disconnectReason, Message message)
          Writes a message to the access logger with information about the termination of an existing client connection.
static void logDisconnectIntermediateMessage(ClientConnection clientConnection, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided client disconnection.
static void logExtendedIntermediateMessage(ExtendedOperation extendedOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided extended operation.
static void logExtendedRequest(ExtendedOperation extendedOperation)
          Writes a message to the access logger with information about the extended request associated with the provided extended operation.
static void logExtendedResponse(ExtendedOperation extendedOperation)
          Writes a message to the access logger with information about the extended response associated with the provided extended operation.
static void logModifyDNIntermediateMessage(ModifyDNOperation modifyDNOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided modify DN operation.
static void logModifyDNRequest(ModifyDNOperation modifyDNOperation)
          Writes a message to the access logger with information about the modify DN request associated with the provided modify DN operation.
static void logModifyDNResponse(ModifyDNOperation modifyDNOperation)
          Writes a message to the access logger with information about the modify DN response associated with the provided modify DN operation.
static void logModifyIntermediateMessage(ModifyOperation modifyOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided modify operation.
static void logModifyRequest(ModifyOperation modifyOperation)
          Writes a message to the access logger with information about the modify request associated with the provided modify operation.
static void logModifyResponse(ModifyOperation modifyOperation)
          Writes a message to the access logger with information about the modify response associated with the provided modify operation.
static void logSearchIntermediateMessage(SearchOperation searchOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided search operation.
static void logSearchRequest(SearchOperation searchOperation)
          Writes a message to the access logger with information about the search request associated with the provided search operation.
static void logSearchResultDone(SearchOperation searchOperation)
          Writes a message to the access logger with information about the completion of the provided search operation.
static void logSearchResultEntry(SearchOperation searchOperation, SearchResultEntry searchEntry)
          Writes a message to the access logger with information about the search result entry that matches the criteria associated with the provided search operation.
static void logSearchResultReference(SearchOperation searchOperation, SearchResultReference searchReference)
          Writes a message to the access logger with information about the search result reference returned while processing the associated search operation.
static void logUnbind(UnbindOperation unbindOperation)
          Writes a message to the access logger with information about the unbind request associated with the provided unbind operation.
static boolean removeAccessLogPublisher(AccessLogPublisher<?> publisher)
          Remove an access log publisher from the access logger.
static void removeAllAccessLogPublishers()
          Removes all existing access log publishers from the logger.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AccessLogger

public AccessLogger()
Method Detail

getInstance

public static AccessLogger getInstance()
Retrieve the singleton instance of this class.

Returns:
The singleton instance of this logger.

addAccessLogPublisher

public static void addAccessLogPublisher(AccessLogPublisher<?> publisher)
Add an access log publisher to the access logger.

Parameters:
publisher - The access log publisher to add.

removeAccessLogPublisher

public static boolean removeAccessLogPublisher(AccessLogPublisher<?> publisher)
Remove an access log publisher from the access logger.

Parameters:
publisher - The access log publisher to remove.
Returns:
The publisher that was removed or null if it was not found.

removeAllAccessLogPublishers

public static void removeAllAccessLogPublishers()
Removes all existing access log publishers from the logger.


initializeAccessLogger

public void initializeAccessLogger(java.util.List<AccessLogPublisherCfg> configs)
                            throws ConfigException,
                                   InitializationException
Initializes all the access log publishers.

Parameters:
configs - The access log publisher configurations.
Throws:
ConfigException - If an unrecoverable problem arises in the process of performing the initialization as a result of the server configuration.
InitializationException - If a problem occurs during initialization that is not related to the server configuration.

isConfigurationAddAcceptable

public boolean isConfigurationAddAcceptable(AccessLogPublisherCfg config,
                                            java.util.List<Message> unacceptableReasons)
Indicates whether the proposed addition of a new configuration is acceptable to this add listener.

Specified by:
isConfigurationAddAcceptable in interface ConfigurationAddListener<AccessLogPublisherCfg>
Parameters:
config - The configuration that will be added.
unacceptableReasons - A list that can be used to hold messages about why the provided configuration is not acceptable.
Returns:
Returns true if the proposed addition is acceptable, or false if it is not.

isConfigurationChangeAcceptable

public boolean isConfigurationChangeAcceptable(AccessLogPublisherCfg config,
                                               java.util.List<Message> unacceptableReasons)
Indicates whether the proposed change to the configuration is acceptable to this change listener.

Specified by:
isConfigurationChangeAcceptable in interface ConfigurationChangeListener<AccessLogPublisherCfg>
Parameters:
config - The new configuration containing the changes.
unacceptableReasons - A list that can be used to hold messages about why the provided configuration is not acceptable.
Returns:
Returns true if the proposed change is acceptable, or false if it is not.

applyConfigurationAdd

public ConfigChangeResult applyConfigurationAdd(AccessLogPublisherCfg config)
Adds a new configuration to this add listener.

Specified by:
applyConfigurationAdd in interface ConfigurationAddListener<AccessLogPublisherCfg>
Parameters:
config - The configuration that will be added.
Returns:
Returns information about the result of adding the configuration.

applyConfigurationChange

public ConfigChangeResult applyConfigurationChange(AccessLogPublisherCfg config)
Applies the configuration changes to this change listener.

Specified by:
applyConfigurationChange in interface ConfigurationChangeListener<AccessLogPublisherCfg>
Parameters:
config - The new configuration containing the changes.
Returns:
Returns information about the result of changing the configuration.

isConfigurationDeleteAcceptable

public boolean isConfigurationDeleteAcceptable(AccessLogPublisherCfg config,
                                               java.util.List<Message> unacceptableReasons)
Indicates whether the proposed deletion of an existing configuration is acceptable to this delete listener.

Specified by:
isConfigurationDeleteAcceptable in interface ConfigurationDeleteListener<AccessLogPublisherCfg>
Parameters:
config - The configuration that will be deleted.
unacceptableReasons - A list that can be used to hold messages about why the provided configuration is not acceptable.
Returns:
Returns true if the proposed deletion is acceptable, or false if it is not.

applyConfigurationDelete

public ConfigChangeResult applyConfigurationDelete(AccessLogPublisherCfg config)
Deletes an existing configuration from this delete listener.

Specified by:
applyConfigurationDelete in interface ConfigurationDeleteListener<AccessLogPublisherCfg>
Parameters:
config - The existing configuration that will be deleted.
Returns:
Returns information about the result of deleting the configuration.

logConnect

public static void logConnect(ClientConnection clientConnection)
Writes a message to the access logger with information about a new client connection that has been established, regardless of whether it will be immediately terminated.

Parameters:
clientConnection - The client connection that has been established.

logConnectIntermediateMessage

public static void logConnectIntermediateMessage(ClientConnection clientConnection,
                                                 java.lang.String category,
                                                 java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided client connection.

Parameters:
clientConnection - The client connection that has been established.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logDisconnect

public static void logDisconnect(ClientConnection clientConnection,
                                 DisconnectReason disconnectReason,
                                 Message message)
Writes a message to the access logger with information about the termination of an existing client connection.

Parameters:
clientConnection - The client connection that has been terminated.
disconnectReason - A generic disconnect reason for the connection termination.
message - A human-readable message that can provide additional information about the disconnect.

logDisconnectIntermediateMessage

public static void logDisconnectIntermediateMessage(ClientConnection clientConnection,
                                                    java.lang.String category,
                                                    java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided client disconnection.

Parameters:
clientConnection - The client connection that has been terminated.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logAbandonRequest

public static void logAbandonRequest(AbandonOperation abandonOperation)
Writes a message to the access logger with information about the abandon request associated with the provided abandon operation.

Parameters:
abandonOperation - The abandon operation containing the information to use to log the abandon request.

logAbandonIntermediateMessage

public static void logAbandonIntermediateMessage(AbandonOperation abandonOperation,
                                                 java.lang.String category,
                                                 java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided abandon operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

Parameters:
abandonOperation - The abandon operation containing the information to use to log the abandon request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logAbandonResult

public static void logAbandonResult(AbandonOperation abandonOperation)
Writes a message to the access logger with information about the result of the provided abandon operation.

Parameters:
abandonOperation - The abandon operation containing the information to use to log the abandon result.

logAddRequest

public static void logAddRequest(AddOperation addOperation)
Writes a message to the access logger with information about the add request associated with the provided add operation.

Parameters:
addOperation - The add operation containing the information to use to log the add request.

logAddIntermediateMessage

public static void logAddIntermediateMessage(AddOperation addOperation,
                                             java.lang.String category,
                                             java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided add operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

Parameters:
addOperation - The add operation containing the information to use to log the add request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logAddResponse

public static void logAddResponse(AddOperation addOperation)
Writes a message to the access logger with information about the add response associated with the provided add operation.

Parameters:
addOperation - The add operation containing the information to use to log the add response.

logBindRequest

public static void logBindRequest(BindOperation bindOperation)
Writes a message to the access logger with information about the bind request associated with the provided bind operation.

Parameters:
bindOperation - The bind operation containing the information to use to log the bind request.

logBindIntermediateMessage

public static void logBindIntermediateMessage(BindOperation bindOperation,
                                              java.lang.String category,
                                              java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided bind operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

Parameters:
bindOperation - The bind operation containing the information to use to log the bind request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logBindResponse

public static void logBindResponse(BindOperation bindOperation)
Writes a message to the access logger with information about the bind response associated with the provided bind operation.

Parameters:
bindOperation - The bind operation containing the information to use to log the bind response.

logCompareRequest

public static void logCompareRequest(CompareOperation compareOperation)
Writes a message to the access logger with information about the compare request associated with the provided compare operation.

Parameters:
compareOperation - The compare operation containing the information to use to log the compare request.

logCompareIntermediateMessage

public static void logCompareIntermediateMessage(CompareOperation compareOperation,
                                                 java.lang.String category,
                                                 java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided compare operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

Parameters:
compareOperation - The compare operation containing the information to use to log the compare request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logCompareResponse

public static void logCompareResponse(CompareOperation compareOperation)
Writes a message to the access logger with information about the compare response associated with the provided compare operation.

Parameters:
compareOperation - The compare operation containing the information to use to log the compare response.

logDeleteRequest

public static void logDeleteRequest(DeleteOperation deleteOperation)
Writes a message to the access logger with information about the delete request associated with the provided delete operation.

Parameters:
deleteOperation - The delete operation containing the information to use to log the delete request.

logDeleteIntermediateMessage

public static void logDeleteIntermediateMessage(DeleteOperation deleteOperation,
                                                java.lang.String category,
                                                java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided delete operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

Parameters:
deleteOperation - The delete operation containing the information to use to log the delete request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logDeleteResponse

public static void logDeleteResponse(DeleteOperation deleteOperation)
Writes a message to the access logger with information about the delete response associated with the provided delete operation.

Parameters:
deleteOperation - The delete operation containing the information to use to log the delete response.

logExtendedRequest

public static void logExtendedRequest(ExtendedOperation extendedOperation)
Writes a message to the access logger with information about the extended request associated with the provided extended operation.

Parameters:
extendedOperation - The extended operation containing the information to use to log the extended request.

logExtendedIntermediateMessage

public static void logExtendedIntermediateMessage(ExtendedOperation extendedOperation,
                                                  java.lang.String category,
                                                  java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided extended operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

Parameters:
extendedOperation - The extended operation containing the information to use to log the extended request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logExtendedResponse

public static void logExtendedResponse(ExtendedOperation extendedOperation)
Writes a message to the access logger with information about the extended response associated with the provided extended operation.

Parameters:
extendedOperation - The extended operation containing the information to use to log the extended response.

logModifyRequest

public static void logModifyRequest(ModifyOperation modifyOperation)
Writes a message to the access logger with information about the modify request associated with the provided modify operation.

Parameters:
modifyOperation - The modify operation containing the information to use to log the modify request.

logModifyIntermediateMessage

public static void logModifyIntermediateMessage(ModifyOperation modifyOperation,
                                                java.lang.String category,
                                                java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided modify operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

Parameters:
modifyOperation - The modify operation containing the information to use to log the modify request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logModifyResponse

public static void logModifyResponse(ModifyOperation modifyOperation)
Writes a message to the access logger with information about the modify response associated with the provided modify operation.

Parameters:
modifyOperation - The modify operation containing the information to use to log the modify response.

logModifyDNRequest

public static void logModifyDNRequest(ModifyDNOperation modifyDNOperation)
Writes a message to the access logger with information about the modify DN request associated with the provided modify DN operation.

Parameters:
modifyDNOperation - The modify DN operation containing the information to use to log the modify DN request.

logModifyDNIntermediateMessage

public static void logModifyDNIntermediateMessage(ModifyDNOperation modifyDNOperation,
                                                  java.lang.String category,
                                                  java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided modify DN operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

Parameters:
modifyDNOperation - The modify DN operation containing the information to use to log the modify DN request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logModifyDNResponse

public static void logModifyDNResponse(ModifyDNOperation modifyDNOperation)
Writes a message to the access logger with information about the modify DN response associated with the provided modify DN operation.

Parameters:
modifyDNOperation - The modify DN operation containing the information to use to log the modify DN response.

logSearchRequest

public static void logSearchRequest(SearchOperation searchOperation)
Writes a message to the access logger with information about the search request associated with the provided search operation.

Parameters:
searchOperation - The search operation containing the information to use to log the search request.

logSearchIntermediateMessage

public static void logSearchIntermediateMessage(SearchOperation searchOperation,
                                                java.lang.String category,
                                                java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided search operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

Parameters:
searchOperation - The search operation containing the information to use to log the search request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logSearchResultEntry

public static void logSearchResultEntry(SearchOperation searchOperation,
                                        SearchResultEntry searchEntry)
Writes a message to the access logger with information about the search result entry that matches the criteria associated with the provided search operation.

Parameters:
searchOperation - The search operation with which the search result entry is associated.
searchEntry - The search result entry to be logged.

logSearchResultReference

public static void logSearchResultReference(SearchOperation searchOperation,
                                            SearchResultReference searchReference)
Writes a message to the access logger with information about the search result reference returned while processing the associated search operation.

Parameters:
searchOperation - The search operation with which the search result reference is associated.
searchReference - The search result reference to be logged.

logSearchResultDone

public static void logSearchResultDone(SearchOperation searchOperation)
Writes a message to the access logger with information about the completion of the provided search operation.

Parameters:
searchOperation - The search operation containing the information to use to log the search result done message.

logUnbind

public static void logUnbind(UnbindOperation unbindOperation)
Writes a message to the access logger with information about the unbind request associated with the provided unbind operation.

Parameters:
unbindOperation - The unbind operation containing the information to use to log the unbind request.