Class TextFormattedAccessLogReader

  • All Implemented Interfaces:
    AccessLogReader, LogReader, java.io.Closeable, java.lang.AutoCloseable

    @ThreadSafety(level=NOT_THREADSAFE)
    public final class TextFormattedAccessLogReader
    extends java.lang.Object
    implements AccessLogReader
    This class provides a mechanism for reading text-formatted access log messages.
    NOTE: This class, and other classes within the com.unboundid.ldap.sdk.unboundidds package structure, are only supported for use against Ping Identity, UnboundID, and Nokia/Alcatel-Lucent 8661 server products. These classes provide support for proprietary functionality or for external specifications that are not considered stable or mature enough to be guaranteed to work in an interoperable way with other types of LDAP servers.
    • Constructor Detail

      • TextFormattedAccessLogReader

        public TextFormattedAccessLogReader​(@NotNull
                                            java.lang.String logFilePath)
                                     throws java.io.IOException
        Creates a new text-formatted access log reader that will read log messages from the specified file.
        Parameters:
        logFilePath - The path to the log file from which the access log messages will be read. It must not be null.
        Throws:
        java.io.IOException - If a problem occurs while opening the specified file for reading.
      • TextFormattedAccessLogReader

        public TextFormattedAccessLogReader​(@NotNull
                                            java.io.File logFile)
                                     throws java.io.IOException
        Creates a new text-formatted access log reader that will read log messages messages from the specified file.
        Parameters:
        logFile - The log file from which the access log messages will be read. It must not be null.
        Throws:
        java.io.IOException - If a problem occurs while opening the specified file for reading.
      • TextFormattedAccessLogReader

        public TextFormattedAccessLogReader​(@NotNull
                                            java.io.InputStream inputStream)
        Creates a new text-formatted access log reader that will read log messages from the provided input stream.
        Parameters:
        inputStream - The input stream from which the access log messages will be read. It must not be null.
    • Method Detail

      • readMessage

        @Nullable
        public TextFormattedAccessLogMessage readMessage()
                                                  throws java.io.IOException,
                                                         LogException
        Reads a log message.
        Specified by:
        readMessage in interface AccessLogReader
        Specified by:
        readMessage in interface LogReader
        Returns:
        The log message that was read, or null if the end of the log has been reached.
        Throws:
        java.io.IOException - If a problem occurs while attempting to read from the log. If this exception is thrown, then it will not be possible to continue reading from the log, and the reader will have been closed.
        LogException - If a problem occurs while attempting to parse a message that was read from the log. If this exception is thrown, then you may continue attempting to read from the log.
      • parseMessage

        @NotNull
        public static TextFormattedAccessLogMessage parseMessage​(@NotNull
                                                                 java.lang.String messageString)
                                                          throws LogException
        Parses the contents of the provided string as a JSON-formatted access log message.
        Parameters:
        messageString - The string to parse as an access log message. It must not be null.
        Returns:
        The parsed access log message.
        Throws:
        LogException - If the provided JSON object cannot be parsed as a valid access log message.
      • close

        public void close()
                   throws java.io.IOException
        Closes this log reader.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface LogReader
        Throws:
        java.io.IOException - If a problem occurs while closing the reader.