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 Details

    • getLogLists

      returns all log records from the repository.
      Returns:
      the iterable instance of a list of log records within a process
      Throws:
      LogRepositoryException - indicating that an error occurred while reading list of instances from the server.
    • getLogLists

      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

      Iterable<ServerInstanceLogRecordList> getLogLists(Level minLevel, 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

      Iterable<ServerInstanceLogRecordList> getLogLists(RepositoryPointer after, Level minLevel, 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

      Iterable<ServerInstanceLogRecordList> getLogLists(Date minTime, 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

      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

      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

      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(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(Date time, Level minLevel, 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, Level minLevel, 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(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(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:
    • 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: