com.ibm.websphere.logging.hpel.reader

Interface RepositoryReader

  • All Known Implementing Classes:
    AbstractRemoteRepositoryReader, RepositoryReaderImpl


    public interface RepositoryReader
    An interface for reading HPEL repositories.

    The getLogLists() methods return lists of log record lists in which the log record (inner) list represents log records generated by one process.

    For example, If your repository contains log records from two separate process lifespans, you'll have the following results:

     for (ServerInstanceLogRecordList oneProcessList: getLogLists()) {
            // this loop will be executed twice - once for each process lifespan
      
            // The header contains information about the server
            Properties header = oneProcessList.getHeader(); 
            
            for (RepositoryLogRecord record: oneProcessList) {
                    // This loop iterates over the list of RepositoryLogRecords from one process lifespan.
            }
     }
     
    All getLogList* queries have the ability to start from a particular RepositoryLogRecord. This is done by passing to the query method the RepositoryPointer information from that record. Here is an example:
     RepositoryPointer pointer;
     for (RepositoryLogRecord record: getLogListForCurrentServerInstance()) {
            // process the record
            if (<this is the record we want to start from next time>) {
                    pointer = record.getRepositoryPointer();
            }
     }
     // after the break
     for (RepositoryLogRecord record: getLogListForServerInstance(last)) {
            // finish what was started.
     }
     
    A simple sample of using the reader to report on all logs currently in a server repository:
            public static void main(String[] args) {
                                    // Create a repository reader (requires base directory of repository 
                    RepositoryReader logRepository = new RepositoryReaderImpl(args[0]) ;            
                                    // Get iterator of server instances (start/stop of the server) extracting all log messages with
                                    // severity between INFO and SEVERE.  Lots of different filtering options, this is just one sample
                    Iterable<ServerInstanceLogRecordList> repResults = logRepository.getLogLists(Level.INFO, Level.SEVERE) ;
                                    // Go through each server instance
                    for (ServerInstanceLogRecordList pidRecords: repResults) {              // For each list (server lifeCycle)
                                    // For each server instance, go through the records
                            for (RepositoryLogRecord repositoryLogRecord : pidRecords) {
                                            // Just printing some key information here.  Note that the repositoryRecord exposes all fields
                                            // with simple get methods
                                            System.out.println("  "+repositoryLogRecord.getFormattedMessage());
                            }
                    }
            }
     
    Note that any records added to the repository after the repository reader instance has been created will not be included in the record list.
    • Method Detail

      • getLogLists

        java.lang.Iterable<ServerInstanceLogRecordList> getLogLists(RepositoryPointer after)
                                                                    throws LogRepositoryException
        returns all log records from the repository beyond a given repository location as specified. Callers need to invoke RepositoryLogRecordHeader.getRepositoryPointer() to obtain the RepositoryPointer for a particular log record.
        Parameters:
        after - pointer to a record the list will start after
        Returns:
        the iterable instance of a list of log records within a process. If no records meet the criteria, an Iterable is returned with no entries
        Throws:
        LogRepositoryException - indicating that an error occurred while reading list of instances from the server.
      • getLogLists

        java.lang.Iterable<ServerInstanceLogRecordList> getLogLists(java.util.logging.Level minLevel,
                                                                  java.util.logging.Level maxLevel)
                                                                    throws LogRepositoryException
        returns log records from the repository that are within the level range as specified.
        Parameters:
        minLevel - minimum Level that will be included in the returned list
        maxLevel - maximum Level that will be included in the returned list
        Returns:
        the iterable instance of a list of records within a process that are within the parameter range If no records meet the criteria, an Iterable is returned with no entries
        Throws:
        LogRepositoryException - indicating that an error occurred while reading list of instances from the server.
      • getLogLists

        java.lang.Iterable<ServerInstanceLogRecordList> getLogLists(RepositoryPointer after,
                                                                  java.util.logging.Level minLevel,
                                                                  java.util.logging.Level maxLevel)
                                                                    throws LogRepositoryException
        returns log records from the repository that are beyond a given repository location and within the level range as specified. Callers need to invoke RepositoryLogRecordHeader.getRepositoryPointer() to obtain the RepositoryPointer for a particular log record.
        Parameters:
        after - pointer to a record the list will start after
        minLevel - minimum Level that will be included in the returned list
        maxLevel - maximum Level that will be included in the returned list
        Returns:
        the iterable instance of a list of log records within a process that are within the parameter range If no records meet the criteria, an Iterable is returned with no entries
        Throws:
        LogRepositoryException - indicating that an error occurred while reading list of instances from the server.
      • getLogLists

        java.lang.Iterable<ServerInstanceLogRecordList> getLogLists(java.util.Date minTime,
                                                                  java.util.Date maxTime)
                                                                    throws LogRepositoryException
        returns log records from the repository that are within the date range as specified. The parameters can be null to indicate an open ended range. For example, a caller may pass null as the maxTime to indicate that the returned log records do not have to meet a maxTime criteria.
        Parameters:
        minTime - minimum Date value that will be included in the returned list
        maxTime - maximum Date value that will be included in the returned list
        Returns:
        the iterable instance of a list of log records within a process that are within the parameter range If no records meet the criteria, an Iterable is returned with no entries
        Throws:
        LogRepositoryException - indicating that an error occurred while reading list of instances from the server.
      • getLogLists

        java.lang.Iterable<ServerInstanceLogRecordList> getLogLists(RepositoryPointer after,
                                                                  java.util.Date maxTime)
                                                                    throws LogRepositoryException
        returns log records from the repository that are beyond a given repository location and occurred before a given time as specified. Callers need to invoke RepositoryLogRecordHeader.getRepositoryPointer() to obtain the RepositoryPointer for a particular log record.
        Parameters:
        after - pointer to a record the list will start after
        maxTime - maximum Date value that will be included in the returned list
        Returns:
        the iterable instance of a list of log records within a process that are within the parameter range If no records meet the criteria, an Iterable is returned with no entries
        Throws:
        LogRepositoryException - indicating that an error occurred while reading list of instances from the server.
      • getLogLists

        java.lang.Iterable<ServerInstanceLogRecordList> getLogLists(LogQueryBean query)
                                                                    throws LogRepositoryException
        returns log records from the repository according to the criteria specified by the log query bean.
        Parameters:
        query - LogQueryBean instance representing set of criteria each of which need to be met by the return records.
        Returns:
        the iterable instance of a list of log records within a process that are within the parameter range If no records meet the criteria, an Iterable is returned with no entries
        Throws:
        LogRepositoryException - indicating that an error occurred while reading list of instances from the server.
      • getLogLists

        java.lang.Iterable<ServerInstanceLogRecordList> getLogLists(RepositoryPointer after,
                                                                  LogQueryBean query)
                                                                    throws LogRepositoryException
        returns log records from the repository that are beyond a given repository location, according to the criteria specified by the log query bean.
        Parameters:
        after - pointer to a record the list will start after
        query - LogQueryBean instance representing set of criteria each of which need to be met by the return records.
        Returns:
        the iterable instance of a list of log records within a process that are within the parameter range If no records meet the criteria, an Iterable is returned with no entries
        Throws:
        LogRepositoryException - indicating that an error occurred while reading list of instances from the server.
      • getLogListForCurrentServerInstance

        ServerInstanceLogRecordList getLogListForCurrentServerInstance()
                                                                       throws LogRepositoryException
        returns log records from the repository that were created since the last server startup.
        Returns:
        the iterable list of log records If no records meet the criteria, an Iterable is returned with no entries
        Throws:
        LogRepositoryException - indicating that an error occurred while reading records from the server.
      • getLogListForServerInstance

        ServerInstanceLogRecordList getLogListForServerInstance(java.util.Date time)
                                                                throws LogRepositoryException
        returns log records from the repository of a server instance running at the time specified.
        Parameters:
        time - Date value used to determine the server instance where the server start time occurs before this value and the server stop time occurs after this value
        Returns:
        the iterable list of log records If no records meet the criteria, a list is returned with a null properties object and a null record list
        Throws:
        LogRepositoryException - indicating that an error occurred while reading records from the server.
      • getLogListForServerInstance

        ServerInstanceLogRecordList getLogListForServerInstance(RepositoryPointer after)
                                                                throws LogRepositoryException
        returns log records from the repository that are beyond a given repository location as specified. Callers need to invoke RepositoryLogRecordHeader.getRepositoryPointer() to obtain the RepositoryPointer for a particular log record. The returned logs will be from one server instance.
        Parameters:
        after - pointer to a record the list will start after
        Returns:
        the iterable list of log records If no records meet the criteria, the list is empty.
        Throws:
        LogRepositoryException - indicating that an error occurred while reading records from the server.
      • getLogListForServerInstance

        ServerInstanceLogRecordList getLogListForServerInstance(java.util.Date time,
                                                              java.util.logging.Level minLevel,
                                                              java.util.logging.Level maxLevel)
                                                                throws LogRepositoryException
        returns log records from the repository of a server instance running at a specified time, within the level range as specified.
        Parameters:
        time - Date value used to determine the server instance where the server start time occurs before this value and the server stop time occurs after this value
        minLevel - minimum Level that will be included in the returned list
        maxLevel - maximum Level that will be included in the returned list
        Returns:
        the iterable list of log records If no records meet the criteria, the list is empty.
        Throws:
        LogRepositoryException - indicating that an error occurred while reading records from the server.
      • getLogListForServerInstance

        ServerInstanceLogRecordList getLogListForServerInstance(RepositoryPointer after,
                                                              java.util.logging.Level minLevel,
                                                              java.util.logging.Level maxLevel)
                                                                throws LogRepositoryException
        returns log records from the repository that are beyond a given repository location and within the level range as specified. Callers need to invoke RepositoryLogRecordHeader.getRepositoryPointer() to obtain the RepositoryPointer for a particular log record. The returned logs will be from one server instance.
        Parameters:
        after - pointer to a record the list will start after
        minLevel - minimum Level that will be included in the returned list
        maxLevel - maximum Level that will be included in the returned list
        Returns:
        the iterable list of log records If no records meet the criteria, the list is empty.
        Throws:
        LogRepositoryException - indicating that an error occurred while reading records from the server.
      • getLogListForServerInstance

        ServerInstanceLogRecordList getLogListForServerInstance(java.util.Date time,
                                                              int threadID)
                                                                throws LogRepositoryException
        returns log records from the repository of a server instance running at a specified time created by the given thread.
        Parameters:
        time - Date value used to determine the server instance where the server start time occurs before this value and the server stop time occurs after this value
        threadID - ID of the thread that the returned records will match
        Returns:
        the iterable list of log records If no records meet the criteria, the list is empty.
        Throws:
        LogRepositoryException - indicating that an error occurred while reading records from the server.
      • getLogListForServerInstance

        ServerInstanceLogRecordList getLogListForServerInstance(RepositoryPointer after,
                                                              int threadID)
                                                                throws LogRepositoryException
        returns log records from the repository that are beyond a given repository location and created by a given thread as specified. Callers need to invoke RepositoryLogRecordHeader.getRepositoryPointer() to obtain the RepositoryPointer for a particular log record. The returned logs will be from one server instance.
        Parameters:
        after - pointer to a record the list will start after
        threadID - ID of the thread that the returned records will match
        Returns:
        the iterable list of log records If no records meet the criteria, the list is empty.
        Throws:
        LogRepositoryException - indicating that an error occurred while reading records from the server.
      • getLogListForServerInstance

        ServerInstanceLogRecordList getLogListForServerInstance(java.util.Date time,
                                                              LogQueryBean query)
                                                                throws LogRepositoryException
        returns log records from the repository of a server instance running at a specified time, according to the criteria specified by the log query bean.
        Parameters:
        time - Date value used to determine the server instance where the server start time occurs before this value and the server stop time occurs after this value
        query - LogQueryBean instance representing set of criteria each of which need to be met by the return records.
        Returns:
        the iterable list of log records If no records meet the criteria, the list is empty.
        Throws:
        LogRepositoryException - indicating that an error occurred while reading records from the server.
        See Also:
        LogQueryBean
      • getLogListForServerInstance

        ServerInstanceLogRecordList getLogListForServerInstance(RepositoryPointer after,
                                                              LogQueryBean query)
                                                                throws LogRepositoryException
        returns log records from the repository for one server instance that are beyond a given repository location, according to the criteria specified by the log query bean.
        Parameters:
        after - pointer to a record the list will start after
        query - LogQueryBean instance representing set of criteria each of which need to be met by the return records.
        Returns:
        the iterable list of log records If no records meet the criteria, the list is empty.
        Throws:
        LogRepositoryException - indicating that an error occurred while reading records from the server.
        See Also:
        LogQueryBean
IBM WebSphere Application ServerTM
Release 8.5