Interface LogEventListener

All Known Implementing Classes:
XALogger

public interface LogEventListener
This interface is implemented by users of the Logger.

If a LogEventListener is registered, the logger will call the LogEventListener when interesting Log Events occur. For example, the Logger will notify the LogEventListener when the current log file is 50% full to allow the application to copy old log entries forward.

If the application does not register a LogEventListener it will not have visibility to Log events.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    used to log low level events.
    static final int
    used to log non-fatal error messages.
    static final int
    used to log fatal error messages that should cause shutdown of the application using HOWL.
    static final int
    used to log information messages such as file open/close.
    static final int
    used to trace method entry/exit and other low level events.
    static final int
    used to log warnings.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    isLoggable(int level)
    determine if log messages for requested level will be written to the log.
    void
    log(int level, String message)
    write a log message to the event log.
    void
    log(int level, String message, Throwable thrown)
    write a log message to the event log with exception information.
    void
    Called by Logger to notify the LogEventListener that a log file overflow is approaching.
  • Field Details

    • TRACE

      static final int TRACE
      used to trace method entry/exit and other low level events.
      See Also:
    • DEBUG

      static final int DEBUG
      used to log low level events.
      See Also:
    • INFO

      static final int INFO
      used to log information messages such as file open/close.
      See Also:
    • WARN

      static final int WARN
      used to log warnings.
      See Also:
    • ERROR

      static final int ERROR
      used to log non-fatal error messages.
      See Also:
    • FATAL

      static final int FATAL
      used to log fatal error messages that should cause shutdown of the application using HOWL.
      See Also:
  • Method Details

    • logOverflowNotification

      void logOverflowNotification(long logkey)
      Called by Logger to notify the LogEventListener that a log file overflow is approaching.
      Parameters:
      logkey - lowest safe log key.

      LogEventListener should cause log records with keys less than logkey to be copied forward to prevent a LogOverflowException.

      Hopefully, the LogEventListener will be able to regenerate the records from memory without having to read the physical log file. For example, a Transaction Manager should maintain a table of transactions that are in the COMMITTING mode, with associated log key for each transaction. The logOverflowNotification method would call Logger.put() for each transaction that has a log key less than logKey .

      Before returning from logOverflowNotification the LogEventListener should call Logger.mark(newMark, force) with force set to true to assure that the new records have been committed to physical disk.

    • isLoggable

      boolean isLoggable(int level)
      determine if log messages for requested level will be written to the log.
      Returns:
      true if the log level is being logged
      See Also:
      • invalid reference
        java.util.logging.Logger#isLoggable()
    • log

      void log(int level, String message)
      write a log message to the event log.
      Parameters:
      level - log level
      message - text to be logged
    • log

      void log(int level, String message, Throwable thrown)
      write a log message to the event log with exception information.
      Parameters:
      level - log level
      message - text to be logged
      thrown - Throwable related to the event being logged.