Class TextAccessLogPublisher

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static org.forgerock.i18n.slf4j.LocalizedLogger logger
      The tracer object for the debug logger.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      ConfigChangeResult applyConfigurationChange​(FileBasedAccessLogPublisherCfg config)
      Applies the configuration changes to this change listener.
      protected void buildFilters​(boolean suppressInternal)
      For startup access logger.
      void close()
      Close this publisher.
      protected void close0()
      Release any resources owned by the sub-implementation.
      DN getDN()
      Gets the DN of the configuration entry for this log publisher.
      static TextAccessLogPublisher getStartupTextAccessPublisher​(TextWriter writer, boolean suppressInternal)
      Returns an instance of the text access log publisher that will print all messages to the provided writer.
      protected void initializeFilters​(T config)
      Initializes the filter configuration.
      void initializeLogPublisher​(FileBasedAccessLogPublisherCfg cfg, ServerContext serverContext)
      Initializes this publisher provider based on the information in the provided debug publisher configuration.
      boolean isConfigurationAcceptable​(FileBasedAccessLogPublisherCfg configuration, List<org.forgerock.i18n.LocalizableMessage> unacceptableReasons)
      Indicates whether the provided configuration is acceptable for this log publisher.
      boolean isConfigurationChangeAcceptable​(FileBasedAccessLogPublisherCfg config, List<org.forgerock.i18n.LocalizableMessage> unacceptableReasons)
      Indicates whether the proposed change to the configuration is acceptable to this change listener.
      protected boolean isConnectLoggable​(ClientConnection c)
      Returns true if the provided client connect should be logged.
      protected boolean isDisconnectLoggable​(ClientConnection c)
      Returns true if the provided client disconnect should be logged.
      protected boolean isFilterConfigurationAcceptable​(T config, List<org.forgerock.i18n.LocalizableMessage> unacceptableReasons)
      Perform any initialization required by the sub-implementation.
      protected boolean isRequestLoggable​(Operation o)
      Returns true if the provided request should be logged.
      protected boolean isResponseLoggable​(Operation o)
      Returns true if the provided response should be logged.
      void logAbandonRequest​(AbandonOperation abandonOperation)
      Writes a message to the access logger with information about the abandon request associated with the provided abandon operation.
      void logAbandonResult​(AbandonOperation abandonOperation)
      Writes a message to the access logger with information about the result of the provided abandon operation.
      void logAddRequest​(AddOperation addOperation)
      Writes a message to the access logger with information about the add request associated with the provided add operation.
      void logAddResponse​(AddOperation addOperation)
      Writes a message to the access logger with information about the add response associated with the provided add operation.
      void logBindRequest​(BindOperation bindOperation)
      Writes a message to the access logger with information about the bind request associated with the provided bind operation.
      void logBindResponse​(BindOperation bindOperation)
      Writes a message to the access logger with information about the bind response associated with the provided bind operation.
      void logCompareRequest​(CompareOperation compareOperation)
      Writes a message to the access logger with information about the compare request associated with the provided compare operation.
      void logCompareResponse​(CompareOperation compareOperation)
      Writes a message to the access logger with information about the compare response associated with the provided compare operation.
      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.
      void logDeleteRequest​(DeleteOperation deleteOperation)
      Writes a message to the access logger with information about the delete request associated with the provided delete operation.
      void logDeleteResponse​(DeleteOperation deleteOperation)
      Writes a message to the access logger with information about the delete response associated with the provided delete operation.
      void logDisconnect​(ClientConnection clientConnection, DisconnectReason disconnectReason, org.forgerock.i18n.LocalizableMessage message)
      Writes a message to the access logger with information about the termination of an existing client connection.
      void logExtendedRequest​(ExtendedOperation extendedOperation)
      Writes a message to the access logger with information about the extended request associated with the provided extended operation.
      void logExtendedResponse​(ExtendedOperation extendedOperation)
      Writes a message to the access logger with information about the extended response associated with the provided extended operation.
      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.
      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.
      void logModifyRequest​(ModifyOperation modifyOperation)
      Writes a message to the access logger with information about the modify request associated with the provided modify operation.
      void logModifyResponse​(ModifyOperation modifyOperation)
      Writes a message to the access logger with information about the modify response associated with the provided modify operation.
      void logSearchRequest​(SearchOperation searchOperation)
      Writes a message to the access logger with information about the search request associated with the provided search operation.
      void logSearchResultDone​(SearchOperation searchOperation)
      Writes a message to the access logger with information about the completion of the provided search operation.
      void logUnbind​(UnbindOperation unbindOperation)
      Writes a message to the access logger with information about the unbind request associated with the provided unbind operation.
    • Field Detail

      • logger

        protected static final org.forgerock.i18n.slf4j.LocalizedLogger logger
        The tracer object for the debug logger.
    • Constructor Detail

      • TextAccessLogPublisher

        public TextAccessLogPublisher()
    • Method Detail

      • getStartupTextAccessPublisher

        public static TextAccessLogPublisher getStartupTextAccessPublisher​(TextWriter writer,
                                                                           boolean suppressInternal)
        Returns an instance of the text access log publisher that will print all messages to the provided writer. This is used to print the messages to the console when the server starts up.
        Parameters:
        writer - The text writer where the message will be written to.
        suppressInternal - Indicates whether to suppress internal operations.
        Returns:
        The instance of the text error log publisher that will print all messages to standard out.
      • isConfigurationAcceptable

        public boolean isConfigurationAcceptable​(FileBasedAccessLogPublisherCfg configuration,
                                                 List<org.forgerock.i18n.LocalizableMessage> unacceptableReasons)
        Description copied from interface: LogPublisher
        Indicates whether the provided configuration is acceptable for this log publisher. It should be possible to call this method on an uninitialized log publisher instance in order to determine whether the log publisher would be able to use the provided configuration.

        Note that implementations which use a subclass of the provided configuration class will likely need to cast the configuration to the appropriate subclass type.
        Specified by:
        isConfigurationAcceptable in interface LogPublisher<FileBasedAccessLogPublisherCfg>
        Overrides:
        isConfigurationAcceptable in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        configuration - The log publisher configuration for which to make the determination.
        unacceptableReasons - A list that may be used to hold the reasons that the provided configuration is not acceptable.
        Returns:
        true if the provided configuration is acceptable for this log publisher, or false if not.
      • logAbandonRequest

        public void logAbandonRequest​(AbandonOperation abandonOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the abandon request associated with the provided abandon operation.

        The default implementation is to not log anything.

        Overrides:
        logAbandonRequest in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        abandonOperation - The abandon operation containing the information to use to log the abandon request.
      • logAbandonResult

        public void logAbandonResult​(AbandonOperation abandonOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the result of the provided abandon operation.

        The default implementation is to not log anything.

        Overrides:
        logAbandonResult in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        abandonOperation - The abandon operation containing the information to use to log the abandon request.
      • logAddRequest

        public void logAddRequest​(AddOperation addOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the add request associated with the provided add operation.

        The default implementation is to not log anything.

        Overrides:
        logAddRequest in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        addOperation - The add operation containing the information to use to log the add request.
      • logAddResponse

        public void logAddResponse​(AddOperation addOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the add response associated with the provided add operation.

        The default implementation is to not log anything.

        Overrides:
        logAddResponse in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        addOperation - The add operation containing the information to use to log the add response.
      • logBindRequest

        public void logBindRequest​(BindOperation bindOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the bind request associated with the provided bind operation.

        The default implementation is to not log anything.

        Overrides:
        logBindRequest in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        bindOperation - The bind operation containing the information to use to log the bind request.
      • logBindResponse

        public void logBindResponse​(BindOperation bindOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the bind response associated with the provided bind operation.

        The default implementation is to not log anything.

        Overrides:
        logBindResponse in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        bindOperation - The bind operation containing the information to use to log the bind response.
      • logCompareRequest

        public void logCompareRequest​(CompareOperation compareOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the compare request associated with the provided compare operation.

        The default implementation is to not log anything.

        Overrides:
        logCompareRequest in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        compareOperation - The compare operation containing the information to use to log the compare request.
      • logCompareResponse

        public void logCompareResponse​(CompareOperation compareOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the compare response associated with the provided compare operation.

        The default implementation is to not log anything.

        Overrides:
        logCompareResponse in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        compareOperation - The compare operation containing the information to use to log the compare response.
      • logConnect

        public void logConnect​(ClientConnection clientConnection)
        Description copied from class: AccessLogPublisher
        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.

        The default implementation is to not log anything.

        Overrides:
        logConnect in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        clientConnection - The client connection that has been established.
      • logDeleteRequest

        public void logDeleteRequest​(DeleteOperation deleteOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the delete request associated with the provided delete operation.

        The default implementation is to not log anything.

        Overrides:
        logDeleteRequest in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        deleteOperation - The delete operation containing the information to use to log the delete request.
      • logDeleteResponse

        public void logDeleteResponse​(DeleteOperation deleteOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the delete response associated with the provided delete operation.

        The default implementation is to not log anything.

        Overrides:
        logDeleteResponse in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        deleteOperation - The delete operation containing the information to use to log the delete response.
      • logDisconnect

        public void logDisconnect​(ClientConnection clientConnection,
                                  DisconnectReason disconnectReason,
                                  org.forgerock.i18n.LocalizableMessage message)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the termination of an existing client connection.

        The default implementation is to not log anything.

        Overrides:
        logDisconnect in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        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.
      • logExtendedRequest

        public void logExtendedRequest​(ExtendedOperation extendedOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the extended request associated with the provided extended operation.

        The default implementation is to not log anything.

        Overrides:
        logExtendedRequest in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        extendedOperation - The extended operation containing the information to use to log the extended request.
      • logExtendedResponse

        public void logExtendedResponse​(ExtendedOperation extendedOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the extended response associated with the provided extended operation.

        The default implementation is to not log anything.

        Overrides:
        logExtendedResponse in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        extendedOperation - The extended operation containing the information to use to log the extended response.
      • logModifyDNRequest

        public void logModifyDNRequest​(ModifyDNOperation modifyDNOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the modify DN request associated with the provided modify DN operation.

        The default implementation is to not log anything.

        Overrides:
        logModifyDNRequest in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        modifyDNOperation - The modify DN operation containing the information to use to log the modify DN request.
      • logModifyDNResponse

        public void logModifyDNResponse​(ModifyDNOperation modifyDNOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the modify DN response associated with the provided modify DN operation.

        The default implementation is to not log anything.

        Overrides:
        logModifyDNResponse in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        modifyDNOperation - The modify DN operation containing the information to use to log the modify DN response.
      • logModifyRequest

        public void logModifyRequest​(ModifyOperation modifyOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the modify request associated with the provided modify operation.

        The default implementation is to not log anything.

        Overrides:
        logModifyRequest in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        modifyOperation - The modify operation containing the information to use to log the modify request.
      • logModifyResponse

        public void logModifyResponse​(ModifyOperation modifyOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the modify response associated with the provided modify operation.

        The default implementation is to not log anything.

        Overrides:
        logModifyResponse in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        modifyOperation - The modify operation containing the information to use to log the modify response.
      • logSearchRequest

        public void logSearchRequest​(SearchOperation searchOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the search request associated with the provided search operation.

        The default implementation is to not log anything.

        Overrides:
        logSearchRequest in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        searchOperation - The search operation containing the information to use to log the search request.
      • logSearchResultDone

        public void logSearchResultDone​(SearchOperation searchOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the completion of the provided search operation.

        The default implementation is to not log anything.

        Overrides:
        logSearchResultDone in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        searchOperation - The search operation containing the information to use to log the search result done message.
      • logUnbind

        public void logUnbind​(UnbindOperation unbindOperation)
        Description copied from class: AccessLogPublisher
        Writes a message to the access logger with information about the unbind request associated with the provided unbind operation.

        The default implementation is to not log anything.

        Overrides:
        logUnbind in class AccessLogPublisher<FileBasedAccessLogPublisherCfg>
        Parameters:
        unbindOperation - The unbind operation containing the information to use to log the unbind request.
      • close0

        protected void close0()
        Release any resources owned by the sub-implementation.
      • close

        public final void close()
        Description copied from interface: LogPublisher
        Close this publisher.
      • getDN

        public final DN getDN()
        Description copied from interface: LogPublisher
        Gets the DN of the configuration entry for this log publisher.
        Returns:
        The configuration entry DN.
      • buildFilters

        protected void buildFilters​(boolean suppressInternal)
        For startup access logger.
        Parameters:
        suppressInternal - true if internal operations should be suppressed.
      • initializeFilters

        protected final void initializeFilters​(T config)
                                        throws ConfigException,
                                               InitializationException
        Initializes the filter configuration. This method must be called by sub-classes during initialization.
        Parameters:
        config - The access publisher configuration that contains the information to use to initialize this access publisher.
        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.
      • isConnectLoggable

        protected final boolean isConnectLoggable​(ClientConnection c)
        Returns true if the provided client connect should be logged.
        Parameters:
        c - The client connection.
        Returns:
        true if the provided client connect should be logged.
      • isDisconnectLoggable

        protected final boolean isDisconnectLoggable​(ClientConnection c)
        Returns true if the provided client disconnect should be logged.
        Parameters:
        c - The client connection.
        Returns:
        true if the provided client disconnect should be logged.
      • isFilterConfigurationAcceptable

        protected final boolean isFilterConfigurationAcceptable​(T config,
                                                                List<org.forgerock.i18n.LocalizableMessage> unacceptableReasons)
        Perform any initialization required by the sub-implementation.
        Parameters:
        config - The access publisher configuration that contains the information to use to initialize this access publisher.
        unacceptableReasons - A list that may be used to hold the reasons that the provided configuration is not acceptable.
        Returns:
        true if the provided configuration is acceptable for this access log publisher, or false if not.
      • isRequestLoggable

        protected final boolean isRequestLoggable​(Operation o)
        Returns true if the provided request should be logged.
        Parameters:
        o - The request.
        Returns:
        true if the provided request should be logged.
      • isResponseLoggable

        protected final boolean isResponseLoggable​(Operation o)
        Returns true if the provided response should be logged.
        Parameters:
        o - The response.
        Returns:
        true if the provided response should be logged.