Interface RuntimeLogger

All Superinterfaces:
LogDecorator, LogPriorityAccessor, MessageLogger<LogPriority>, org.refcodes.mixin.NameAccessor
All Known Implementing Classes:
RuntimeLoggerImpl, RuntimeLoggerSingleton

public interface RuntimeLogger extends MessageLogger<LogPriority>, LogPriorityAccessor, org.refcodes.mixin.NameAccessor, LogDecorator
Plain simple interface for logging out runtime information generated by software systems. The RuntimeLogger defines a plain simple interface for logging out runtime information generated by software systems. The RuntimeLoggerImpl implementation takes care of logging out the class and the method generating a log line. The RuntimeLoggerImpl actually takes a Logger instance; which implementation to take is up to you:
  • SystemLogger
  • AsyncLogger
  • ConsoleLogger (ConsoleLogger)
  • IoLogger
  • SimpleDbLoggerImpl
  • SimpleDbLoggerImpl
  • Slf4jLogger
(you find the various Logger implementations in the refcodes-logger-alt artifact's modules) Use the factory (the factory is implemented as a singleton) RuntimeLoggerFactorySingleton retrieving RuntimeLogger instances configured by a "runtimelogge.ini" file using the RuntimeProperties as well as the PolyglotProperties. This means you can use YAML, TOML, INI, PROPERTIES, XML or JSON notations. A SLF4J binding exists in the refcodes-logger-ext-slf4j" artifact which binds the refcodes-logger framework to SLF4J enabling to log all your SLF4J logs out by the refcodes-logger framework, e.g. to a SimpleDbLoggerImpl. The RuntimeLogger may also be configured with one of the below mentioned loggers.
Author:
steiner
  • Field Details

    • RUNTIME_LOGGER_CONFIG

      static final String RUNTIME_LOGGER_CONFIG
      The filename of the file on the classpath containing the config for the runtime logger.
      See Also:
    • ROOT_LOGGER_ELEMENT_PATH

      static final String ROOT_LOGGER_ELEMENT_PATH
      The root logger is identified by this XML element path.
      See Also:
  • Method Details

    • log

      void log(LogPriority aPriority, String aMessage, Throwable aThrowable)
      Creates a new log message.
      Parameters:
      aPriority - The level of the message.
      aMessage - The message to be logged.
      aThrowable - An exception that the message should contain.
    • log

      void log(LogPriority aPriority, String aMessage, Throwable aThrowable, Object... aArguments)
      Creates a new log message. The placeholders in the message String are being replaced by the provided arguments. Implementations of this interface are recommended to use Java's MessageFormat's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the message to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y.
      Parameters:
      aPriority - The level of the message.
      aMessage - The message to be logged.
      aThrowable - An exception that the message should contain.
      aArguments - The arguments used when replacing the placeholders.
    • isLog

      boolean isLog(LogPriority aPriority)
      Determines whether the RuntimeLogger is being configured to log messages of the according LogPriority. This method is useful to prevent the generation of vast amounts of log message String objects (and according processing) for the according LogPriority in case them messages of that LogPriority are not logged at all.
      Parameters:
      aPriority - The LogPriority to test whether the RuntimeLogger does log messages of that LogPriority.
      Returns:
      True in case the RuntimeLogger does log messages of that LogPriority.
    • trace

      void trace(String aMessage)
      Logs a log message with log priority LogPriority.TRACE.
      Parameters:
      aMessage - The message to be logged.
    • trace

      void trace(String aMessage, Object... aArguments)
      Logs a log message with log priority LogPriority.TRACE. The placeholders in the message String are being replaced by the provided arguments. Implementations of this interface are recommended to use Java's MessageFormat's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the message to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y.
      Parameters:
      aMessage - The message to be logged.
      aArguments - The arguments used when replacing the placeholders.
    • isLogTrace

      boolean isLogTrace()
      Determines whether the RuntimeLogger is being configured to log comments (LogPriority.TRACE). This method is useful to prevent the generation of vast amounts of log message String objects (and according processing) for the according LogPriority in case them messages of that LogPriority are not logged at all.
      Returns:
      True in case comments are logged.
    • debug

      void debug(String aMessage)
      Logs a log message with log priority LogPriority.DEBUG. "Info useful to developers for debugging the application, not useful during operations." See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
    • debug

      void debug(String aMessage, Object... aArguments)
      Logs a log message with log priority LogPriority.DEBUG. "Info useful to developers for debugging the application, not useful during operations." The placeholders in the message String are being replaced by the provided arguments. Implementations of this interface are recommended to use Java's MessageFormat's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the message to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aArguments - The arguments used when replacing the placeholders.
    • isLogDebug

      boolean isLogDebug()
      Determines whether the RuntimeLogger is being configured to log debug messages (LogPriority.DEBUG). This method is useful to prevent the generation of vast amounts of log message String objects (and according processing) for the according LogPriority in case them messages of that LogPriority are not logged at all.
      Returns:
      True in case debug messages are logged.
    • info

      void info(String aMessage)
      Logs a log message with log priority LogPriority.INFO. "Additional information which might be useful for some stability period." See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
    • info

      void info(String aMessage, Object... aArguments)
      Logs a log message with log priority LogPriority.INFO. "Additional information which might be useful for some stability period." The placeholders in the message String are being replaced by the provided arguments. Implementations of this interface are recommended to use Java's MessageFormat's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the message to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aArguments - The arguments used when replacing the placeholders.
    • isLogInfo

      boolean isLogInfo()
      Determines whether the RuntimeLogger is being configured to log infos (LogPriority.INFO). This method is useful to prevent the generation of vast amounts of log message String objects (and according processing) for the according LogPriority in case them messages of that LogPriority are not logged at all.
      Returns:
      True in case infos are logged.
    • notice

      void notice(String aMessage)
      Logs a log message with log priority LogPriority.NOTICE. "Events that are unusual but not error conditions - might be summarized in an email to developers or admins to spot potential problems - no immediate action required." See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
    • notice

      void notice(String aMessage, Object... aArguments)
      Logs a log message with log priority LogPriority.NOTICE. "Events that are unusual but not error conditions - might be summarized in an email to developers or admins to spot potential problems - no immediate action required." The placeholders in the message String are being replaced by the provided arguments. Implementations of this interface are recommended to use Java's MessageFormat's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the message to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aArguments - The arguments used when replacing the placeholders.
    • isLogNotice

      boolean isLogNotice()
      Determines whether the RuntimeLogger is being configured to log notices (LogPriority.NOTICE). This method is useful to prevent the generation of vast amounts of log message String objects (and according processing) for the according LogPriority in case them messages of that LogPriority are not logged at all.
      Returns:
      True in case infos are logged.
    • warn

      void warn(String aMessage)
      Logs a log message with log priority LogPriority.WARN. "Warning messages, not an error, but indication that an error will occur if action is not taken, e.g. file system 85% full - each item must be resolved within a given time." See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
    • warn

      void warn(String aMessage, Object... aArguments)
      Logs a log message with log priority LogPriority.WARN. "Warning messages, not an error, but indication that an error will occur if action is not taken, e.g. file system 85% full - each item must be resolved within a given time." The placeholders in the message String are being replaced by the provided arguments. Implementations of this interface are recommended to use Java's MessageFormat's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the message to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aArguments - The arguments used when replacing the placeholders.
    • warn

      void warn(String aMessage, Throwable aThrowable)
      Logs a log message with log priority LogPriority.WARN. "Warning messages, not an error, but indication that an error will occur if action is not taken, e.g. file system 85% full - each item must be resolved within a given time." See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aThrowable - An exception that the message should contain.
    • warn

      void warn(String aMessage, Throwable aThrowable, Object... aArguments)
      Logs a log message with log priority LogPriority.WARN. "Warning messages, not an error, but indication that an error will occur if action is not taken, e.g. file system 85% full - each item must be resolved within a given time." The placeholders in the message String are being replaced by the provided arguments. Implementations of this interface are recommended to use Java's MessageFormat's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the message to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aThrowable - An exception that the message should contain.
      aArguments - The arguments used when replacing the placeholders.
    • isLogWarn

      boolean isLogWarn()
      Determines whether the RuntimeLogger is being configured to log warnings (LogPriority.WARN). This method is useful to prevent the generation of vast amounts of log message String objects (and according processing) for the according LogPriority in case them messages of that LogPriority are not logged at all.
      Returns:
      True in case warnings are logged.
    • error

      void error(String aMessage)
      Logs a log message with log priority LogPriority.ERROR. "Non-urgent failures, these should be relayed to developers or admins; each item must be resolved within a given time." See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
    • error

      void error(String aMessage, Object... aArguments)
      Logs a log message with log priority LogPriority.ERROR. "Non-urgent failures, these should be relayed to developers or admins; each item must be resolved within a given time." The placeholders in the message String are being replaced by the provided arguments. Implementations of this interface are recommended to use Java's MessageFormat's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the message to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aArguments - The arguments used when replacing the placeholders.
    • error

      void error(String aMessage, Throwable aThrowable)
      Logs a log message with log priority LogPriority.ERROR. "Non-urgent failures, these should be relayed to developers or admins; each item must be resolved within a given time." See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aThrowable - An exception that the message should contain.
    • error

      void error(String aMessage, Throwable aThrowable, Object... aArguments)
      Logs a log message with log priority LogPriority.ERROR. "Non-urgent failures, these should be relayed to developers or admins; each item must be resolved within a given time." The placeholders in the message String are being replaced by the provided arguments. Implementations of this interface are recommended to use Java's MessageFormat's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the message to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aThrowable - An exception that the message should contain.
      aArguments - The arguments used when replacing the placeholders.
    • isLogError

      boolean isLogError()
      Determines whether the RuntimeLogger is being configured to log errors (LogPriority.ERROR). This method is useful to prevent the generation of vast amounts of log message String objects (and according processing) for the according LogPriority in case them messages of that LogPriority are not logged at all.
      Returns:
      True in case errors are logged.
    • critical

      void critical(String aMessage)
      Logs a log message with log priority LogPriority.CRITICAL. "Should be corrected immediately, but indicates failure in a secondary system, an example is a loss of a backup ISP connection." See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
    • critical

      void critical(String aMessage, Object... aArguments)
      Logs a log message with log priority LogPriority.CRITICAL. "Should be corrected immediately, but indicates failure in a secondary system, an example is a loss of a backup ISP connection." The placeholders in the message String are being replaced by the provided arguments. Implementations of this interface are recommended to use Java's MessageFormat's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the message to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aArguments - The arguments used when replacing the placeholders.
    • critical

      void critical(String aMessage, Throwable aThrowable)
      Logs a log message with log priority LogPriority.CRITICAL. "Should be corrected immediately, but indicates failure in a secondary system, an example is a loss of a backup ISP connection." See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aThrowable - An exception that the message should contain.
    • critical

      void critical(String aMessage, Throwable aThrowable, Object... aArguments)
      Logs a log message with log priority LogPriority.CRITICAL. "Should be corrected immediately, but indicates failure in a secondary system, an example is a loss of a backup ISP connection." See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aThrowable - An exception that the message should contain.
      aArguments - The arguments used when replacing the placeholders.
    • isLogCritical

      boolean isLogCritical()
      Determines whether the RuntimeLogger is being configured to log fatal messages (LogPriority.CRITICAL). This method is useful to prevent the generation of vast amounts of log message String objects (and according processing) for the according LogPriority in case them messages of that LogPriority are not logged at all.
      Returns:
      True in case fatal messages are logged.
    • alert

      void alert(String aMessage)
      Logs a log message with log priority LogPriority.ALERT. "Should be corrected immediately, therefore notify staff who can fix the problem. An example would be the loss of a primary ISP connection." See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
    • alert

      void alert(String aMessage, Object... aArguments)
      Logs a log message with log priority LogPriority.ALERT. "Should be corrected immediately, therefore notify staff who can fix the problem. An example would be the loss of a primary ISP connection." The placeholders in the message String are being replaced by the provided arguments. Implementations of this interface are recommended to use Java's MessageFormat's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the message to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aArguments - The arguments used when replacing the placeholders.
    • alert

      void alert(String aMessage, Throwable aThrowable)
      Logs a log message with log priority LogPriority.ALERT.
      Parameters:
      aMessage - The message to be logged.
      aThrowable - An exception that the message should contain.
    • alert

      void alert(String aMessage, Throwable aThrowable, Object... aArguments)
      Logs a log message with log priority LogPriority.ALERT.
      Parameters:
      aMessage - The message to be logged.
      aThrowable - An exception that the message should contain.
      aArguments - The arguments used when replacing the placeholders.
    • isLogAlert

      boolean isLogAlert()
      Determines whether the RuntimeLogger is being configured to log fatal messages (LogPriority.ALERT). This method is useful to prevent the generation of vast amounts of log message String objects (and according processing) for the according LogPriority in case them messages of that LogPriority are not logged at all.
      Returns:
      True in case fatal messages are logged.
    • panic

      void panic(String aMessage)
      Logs a log message with log priority LogPriority.PANIC. "A "panic" condition usually affecting multiple apps/servers/sites. At this level it would usually notify all tech staff on call." ( See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
    • panic

      void panic(String aMessage, Object... aArguments)
      Logs a log message with log priority LogPriority.PANIC. "A "panic" condition usually affecting multiple apps/servers/sites. At this level it would usually notify all tech staff on call." The placeholders in the message String are being replaced by the provided arguments. Implementations of this interface are recommended to use Java's MessageFormat's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the message to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aArguments - The arguments used when replacing the placeholders.
    • panic

      void panic(String aMessage, Throwable aThrowable)
      Logs a log message with log priority LogPriority.PANIC. "A "panic" condition usually affecting multiple apps/servers/sites. At this level it would usually notify all tech staff on call." ( See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aThrowable - An exception that the message should contain.
    • panic

      void panic(String aMessage, Throwable aThrowable, Object... aArguments)
      Logs a log message with log priority LogPriority.PANIC. "A "panic" condition usually affecting multiple apps/servers/sites. At this level it would usually notify all tech staff on call." The placeholders in the message String are being replaced by the provided arguments. Implementations of this interface are recommended to use Java's MessageFormat's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the message to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog
      Parameters:
      aMessage - The message to be logged.
      aThrowable - An exception that the message should contain.
      aArguments - The arguments used when replacing the placeholders.
    • isLogPanic

      boolean isLogPanic()
      Determines whether the RuntimeLogger is being configured to log fatal messages (LogPriority.PANIC). This method is useful to prevent the generation of vast amounts of log message String objects (and according processing) for the according LogPriority in case them messages of that LogPriority are not logged at all.
      Returns:
      True in case fatal messages are logged.