Class ForwardingLogManager

java.lang.Object
org.sosy_lab.common.log.ForwardingLogManager
All Implemented Interfaces:
LogManager
Direct Known Subclasses:
LogManagerWithoutDuplicates

public abstract class ForwardingLogManager extends Object implements LogManager
  • Constructor Details

    • ForwardingLogManager

      public ForwardingLogManager()
  • Method Details

    • delegate

      @ForOverride protected abstract LogManager delegate()
    • wouldBeLogged

      public boolean wouldBeLogged(Level pPriority)
      Description copied from interface: LogManager
      Returns true if a message with the given log level would be logged.
      Specified by:
      wouldBeLogged in interface LogManager
      Parameters:
      pPriority - the log level
      Returns:
      whether this log level is enabled
    • log

      public void log(Level pPriority, Object... pArgs)
      Description copied from interface: LogManager
      Logs any message occurring during program execution. The message is constructed lazily by concatenating the parts with " ". The caller should not use string concatenation to create the message in order to increase performance if the message is never logged. To make individual arguments lazy, use MoreStrings.lazyString(Supplier).
      Specified by:
      log in interface LogManager
      Parameters:
      pPriority - the log level for the message
      pArgs - the parts of the message (can be an arbitrary number of objects whose Object.toString() method is called)
    • log

      public void log(Level pPriority, Supplier<String> pMsgSupplier)
      Description copied from interface: LogManager
      Logs any message occurring during program execution. The message is constructed lazily by asking the provided supplier if necessary.
      Specified by:
      log in interface LogManager
      Parameters:
      pPriority - the log level for the message
      pMsgSupplier - a supplier for a non-null log message
    • logf

      @FormatMethod public void logf(Level pPriority, String pFormat, Object... pArgs)
      Description copied from interface: LogManager
      Logs any message occurring during program execution. The message is constructed lazily from String.format(format, args). To make individual arguments lazy, use MoreStrings.lazyString(Supplier).
      Specified by:
      logf in interface LogManager
      Parameters:
      pPriority - the log level for the message
      pFormat - The format string.
      pArgs - The arguments for the format string.
    • logUserException

      public void logUserException(Level pPriority, Throwable pE, @Nullable String pAdditionalMessage)
      Description copied from interface: LogManager
      Log a message by printing its message to the user. The details (e.g., stack trace) are hidden from the user and logged with a lower log level.

      Use this method in cases where an expected exception with a useful error message is thrown, e.g. an InvalidConfigurationException.

      If you want to log an IOException because of a write error, it is recommended to write the message like "Could not write FOO to file". The final message will then be "Could not write FOO to file FOO.txt (REASON)".

      Specified by:
      logUserException in interface LogManager
      Parameters:
      pPriority - the log level for the message
      pE - the occurred exception
      pAdditionalMessage - an optional message
    • logfUserException

      @FormatMethod public void logfUserException(Level pPriority, Throwable pE, String pFormat, Object... pArgs)
      Description copied from interface: LogManager
      Log a message by printing its message to the user. The details (e.g., stack trace) are hidden from the user and logged with a lower log level.

      Use this method in cases where an expected exception with a useful error message is thrown, e.g. an InvalidConfigurationException.

      The message is constructed lazily from String.format(format, args). To make individual arguments lazy, use MoreStrings.lazyString(Supplier).

      If you want to log an IOException because of a write error, it is recommended to write the message like "Could not write FOO to file". The final message will then be "Could not write FOO to file FOO.txt (REASON)".

      Specified by:
      logfUserException in interface LogManager
      Parameters:
      pPriority - the log level for the message
      pE - the occurred exception
      pFormat - The format string.
      pArgs - The arguments for the format string.
    • logDebugException

      public void logDebugException(Throwable pE, @Nullable String pAdditionalMessage)
      Description copied from interface: LogManager
      Log an exception solely for the purpose of debugging. In default configuration, this exception is not shown to the user!

      Use this method when you want to log an exception that was handled by the catching site, but you don't want to forget the information completely.

      Specified by:
      logDebugException in interface LogManager
      Parameters:
      pE - the occurred exception
      pAdditionalMessage - an optional message
    • logfDebugException

      @FormatMethod public void logfDebugException(Throwable pE, String pFormat, Object... pArgs)
      Description copied from interface: LogManager
      Log an exception solely for the purpose of debugging. In default configuration, this exception is not shown to the user!

      Use this method when you want to log an exception that was handled by the catching site, but you don't want to forget the information completely.

      The message is constructed lazily from String.format(format, args). To make individual arguments lazy, use MoreStrings.lazyString(Supplier).

      Specified by:
      logfDebugException in interface LogManager
      Parameters:
      pE - the occurred exception
      pFormat - The format string.
      pArgs - The arguments for the format string.
    • logDebugException

      public void logDebugException(Throwable pE)
      Description copied from interface: LogManager
      Log an exception solely for the purpose of debugging. In default configuration, this exception is not shown to the user!

      Use this method when you want to log an exception that was handled by the catching site, but you don't want to forget the information completely.

      Specified by:
      logDebugException in interface LogManager
      Parameters:
      pE - the occurred exception
    • logException

      public void logException(Level pPriority, Throwable pE, @Nullable String pAdditionalMessage)
      Description copied from interface: LogManager
      Log an exception by printing the full details to the user.

      This method should only be used in cases where logUserException and logDebugException are not acceptable.

      Specified by:
      logException in interface LogManager
      Parameters:
      pPriority - the log level for the message
      pE - the occurred exception
      pAdditionalMessage - an optional message
    • logfException

      @FormatMethod public void logfException(Level pPriority, Throwable pE, String pFormat, Object... pArgs)
      Description copied from interface: LogManager
      Log an exception by printing the full details to the user.

      This method should only be used in cases where logUserException and logDebugException are not acceptable.

      The message is constructed lazily from String.format(format, args). To make individual arguments lazy, use MoreStrings.lazyString(Supplier).

      Specified by:
      logfException in interface LogManager
      Parameters:
      pPriority - the log level for the message
      pE - the occurred exception
      pFormat - The format string.
      pArgs - The arguments for the format string.
    • flush

      public void flush()
      Description copied from interface: LogManager
      Flush all handlers of this logger.
      Specified by:
      flush in interface LogManager