Class Log

  • Direct Known Subclasses:
    DefaultLog

    public class Log
    extends Object
    A simple logging facility. Create a class implementing the LogTarget interface to use this feature.
    Author:
    Thomas Morgner
    • Constructor Detail

      • Log

        protected Log()
        Creates a new Log instance. The Log is used to manage the log targets.
    • Method Detail

      • getInstance

        public static Log getInstance()
        Returns the singleton Log instance. A new instance is created if necessary.
        Returns:
        the singleton instance.
      • defineLog

        protected static void defineLog​(Log log)
        Redefines or clears the currently used log instance.
        Parameters:
        log - the new log instance or null, to return to the default implementation.
      • getDebuglevel

        public int getDebuglevel()
        Returns the currently defined debug level. The higher the level, the more details are printed.
        Returns:
        the debug level.
      • setDebuglevel

        protected void setDebuglevel​(int debuglevel)
        Defines the debug level for the log system.
        Parameters:
        debuglevel - the new debug level
        See Also:
        getDebuglevel()
      • addTarget

        public void addTarget​(LogTarget target)
        Adds a log target to this facility. Log targets get informed, via the LogTarget interface, whenever a message is logged with this class.
        Parameters:
        target - the target.
      • removeTarget

        public void removeTarget​(LogTarget target)
        Removes a log target from this facility.
        Parameters:
        target - the target to remove.
      • getTargets

        public LogTarget[] getTargets()
        Returns the registered logtargets.
        Returns:
        the logtargets.
      • replaceTargets

        public void replaceTargets​(LogTarget target)
        Replaces all log targets by the given target.
        Parameters:
        target - the new and only logtarget.
      • debug

        public static void debug​(Object message)
        A convenience method for logging a 'debug' message.
        Parameters:
        message - the message.
      • debug

        public static void debug​(Object message,
                                 Exception e)
        A convenience method for logging a 'debug' message.
        Parameters:
        message - the message.
        e - the exception.
      • info

        public static void info​(Object message)
        A convenience method for logging an 'info' message.
        Parameters:
        message - the message.
      • info

        public static void info​(Object message,
                                Exception e)
        A convenience method for logging an 'info' message.
        Parameters:
        message - the message.
        e - the exception.
      • warn

        public static void warn​(Object message)
        A convenience method for logging a 'warning' message.
        Parameters:
        message - the message.
      • warn

        public static void warn​(Object message,
                                Exception e)
        A convenience method for logging a 'warning' message.
        Parameters:
        message - the message.
        e - the exception.
      • error

        public static void error​(Object message)
        A convenience method for logging an 'error' message.
        Parameters:
        message - the message.
      • error

        public static void error​(Object message,
                                 Exception e)
        A convenience method for logging an 'error' message.
        Parameters:
        message - the message.
        e - the exception.
      • doLog

        protected void doLog​(int level,
                             Object message)
        Logs a message to the main log stream. All attached log targets will also receive this message. If the given log-level is higher than the given debug-level in the main config file, no logging will be done.
        Parameters:
        level - log level of the message.
        message - text to be logged.
      • log

        public static void log​(int level,
                               Object message)
        Logs a message to the main log stream. All attached log targets will also receive this message. If the given log-level is higher than the given debug-level in the main config file, no logging will be done.
        Parameters:
        level - log level of the message.
        message - text to be logged.
      • log

        public static void log​(int level,
                               Object message,
                               Exception e)
        Logs a message to the main log stream. All attached logTargets will also receive this message. If the given log-level is higher than the given debug-level in the main config file, no logging will be done.

        The exception's stacktrace will be appended to the log-stream

        Parameters:
        level - log level of the message.
        message - text to be logged.
        e - the exception, which should be logged.
      • doLog

        protected void doLog​(int level,
                             Object message,
                             Exception e)
        Logs a message to the main log stream. All attached logTargets will also receive this message. If the given log-level is higher than the given debug-level in the main config file, no logging will be done.

        The exception's stacktrace will be appended to the log-stream

        Parameters:
        level - log level of the message.
        message - text to be logged.
        e - the exception, which should be logged.
      • init

        public void init()
        Initializes the logging system. Implementors should override this method to supply their own log configuration.
      • isDebugEnabled

        public static boolean isDebugEnabled()
        Returns true, if the log level allows debug messages to be printed.
        Returns:
        true, if messages with an log level of DEBUG are allowed.
      • isInfoEnabled

        public static boolean isInfoEnabled()
        Returns true, if the log level allows informational messages to be printed.
        Returns:
        true, if messages with an log level of INFO are allowed.
      • isWarningEnabled

        public static boolean isWarningEnabled()
        Returns true, if the log level allows warning messages to be printed.
        Returns:
        true, if messages with an log level of WARN are allowed.
      • isErrorEnabled

        public static boolean isErrorEnabled()
        Returns true, if the log level allows error messages to be printed.
        Returns:
        true, if messages with an log level of ERROR are allowed.
      • createContext

        public static LogContext createContext​(Class context)
        Creates a log context.
        Parameters:
        context - the class (null not permitted).
        Returns:
        A log context.
      • createContext

        public static LogContext createContext​(String context)
        Creates a log context.
        Parameters:
        context - the label for the context.
        Returns:
        A log context.
      • internalCreateContext

        protected LogContext internalCreateContext​(String context)
        Creates a log context.
        Parameters:
        context - the name of the logging context (a common prefix).
        Returns:
        A log context.