Package com.iizix

Class Loggers


  • public class Loggers
    extends java.lang.Object
    The class that manages all ILog instances in the process and it's threads or thread groups. If no special assigned Loggers instance is found using the ILoggers interface, the default one is used.

    The following arguments are converted using "deep-toString" meaning their contents and subcontents are deep-toString'eg if possible, otherwise just as "toString()".

    • null: "null".
    • Array of primitives: the entire array is expanded.
    • com.iizix.prop.StringMapProp or java.util.Map: lists all the contents on new lines as " - key = value".
    • Throwable: expanded throwable with stack trace, including potential ignored exception and cause.
    Author:
    Christopher Mindus
    • Field Summary

      Fields 
      Modifier and TypeFieldDescription
      static java.lang.StringINDENT
      The indent string used when parameters are on new lines.
      static java.lang.StringprependString
      The string that is prepended to all logged messages when written to System.out when no ILoggerRedirector is present.
    • Constructor Summary

      Constructors 
      ConstructorDescription
      Loggers()
      Constructs a Loggers instance, without name.
      Loggers​(java.lang.String name)
      Constructs a Loggers instance with the specified name.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static java.lang.ThreadcreateThread​(java.lang.Runnable r, java.lang.String name)
      Creates a new Thread with a specific name and an associated logger.
      static java.lang.ThreadcreateThread​(java.lang.Runnable r, java.lang.String name, java.lang.Object o)
      Creates a new Thread with a specific name and an associated logger along with an attached thread object, typically an instance of SessionInfo.
      static java.lang.ThreadcreateThread​(java.lang.ThreadGroup tg, java.lang.Runnable r, java.lang.String name)
      Creates a new Thread with a specific name and an associated logger.
      static java.lang.ThreadcreateThread​(java.lang.ThreadGroup tg, java.lang.Runnable r, java.lang.String name, java.lang.Object o)
      Creates a new Thread with a specific name and an associated logger.
      static java.lang.ThreadGroupcreateThreadGroup​(java.lang.String name)
      Creates a new Thread Group with a specific name and an associated logger.
      static java.lang.ThreadGroupcreateThreadGroup​(java.lang.String name, java.lang.Object o)
      Creates a new Thread Group with a specific name and an associated logger.
      static java.lang.ThreadGroupcreateThreadGroup​(java.lang.ThreadGroup parent, java.lang.String name)
      Creates a new Thread Group with a specific name and an associated logger.
      static java.lang.ThreadGroupcreateThreadGroup​(java.lang.ThreadGroup parent, java.lang.String name, java.lang.Object o)
      Creates a new Thread Group with a specific name and an associated logger.
      static LoggersgetCurrent()
      Method to get the Loggers instance from the calling thread.
      static LoggersgetDefault()
      Gets the default instance of the Loggers.
      static java.lang.StringgetLevelString​(int level)
      Gets the level string.
      static java.lang.StringgetLevelStringFormatted​(int level)
      Gets the formatted level string that is adjusted with spaces and surrounded with [].
      intgetLogLevel()
      Gets the log level.
      java.lang.StringgetName()
      Gets the name of this logger.
      static ILoggerRedirectorgetRedirector()
      Sets the log redirector used when redirecting an event from client to server.
      static java.lang.ObjectgetTObject()
      Gets the thread object or thread group object for the calling thread.
      static voidlog​(int level, java.lang.String clazz, java.lang.String msg)
      Logs an event to the logger of the current thread or thread group.
      static voidlog​(int level, java.lang.String clazz, java.lang.String msg, java.lang.Object param)
      Logs an event to the logger of the current thread or thread group.
      static voidlog​(int level, java.lang.String clazz, java.lang.String msg, java.lang.Object... params)
      Logs an event to the logger of the current thread or thread group.
      static voidlog​(int level, java.lang.String clazz, java.lang.String msg, java.lang.Object param1, java.lang.Object param2)
      Logs an event to the logger of the current thread or thread group.
      static voidlogForced​(int level, java.lang.String clazz, java.lang.String msg)
      Logs an event to the logger of the current thread or thread group.
      static voidlogForced​(int level, java.lang.String clazz, java.lang.String msg, java.lang.Object param)
      Forces logging of an event to the logger of the current thread or thread group.
      static voidlogForced​(int level, java.lang.String clazz, java.lang.String msg, java.lang.Object... params)
      Forces logging of an event to the logger of the current thread or thread group.
      static voidlogForced​(int level, java.lang.String clazz, java.lang.String msg, java.lang.Object param1, java.lang.Object param2)
      Forces logging of an event to the logger of the current thread or thread group.
      voidsetLogLevel​(int level)
      Changes the log level.
      static booleansetRedirector​(ILoggerRedirector newRedirector)
      Sets the log redirector used when redirecting an event from client to server.
      static voidstdoutPrintln​(java.lang.String text)
      Logs to console output.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • INDENT

        public static final java.lang.String INDENT
        The indent string used when parameters are on new lines.
        See Also:
        Constant Field Values
      • prependString

        public static java.lang.String prependString
        The string that is prepended to all logged messages when written to System.out when no ILoggerRedirector is present.
    • Constructor Detail

      • Loggers

        public Loggers()
        Constructs a Loggers instance, without name.
      • Loggers

        public Loggers​(java.lang.String name)
        Constructs a Loggers instance with the specified name.
        Parameters:
        name - The name of the logger.
    • Method Detail

      • stdoutPrintln

        public static void stdoutPrintln​(java.lang.String text)
        Logs to console output.
        Parameters:
        text - Prints a text with line feed to the console bypassing a potential redirection.
      • getLevelString

        public static java.lang.String getLevelString​(int level)
        Gets the level string.
        Parameters:
        level - The level.
        Returns:
        The string, or UNKNOWN if level is wrong.
      • getLevelStringFormatted

        public static java.lang.String getLevelStringFormatted​(int level)
        Gets the formatted level string that is adjusted with spaces and surrounded with [].
        Parameters:
        level - The log level (1-7).
        Returns:
        The formatted log string.
      • getDefault

        public static Loggers getDefault()
        Gets the default instance of the Loggers.
        Returns:
        The default Loggers instance.
      • getRedirector

        public static ILoggerRedirector getRedirector()
        Sets the log redirector used when redirecting an event from client to server.
        Returns:
        logRedirector, the log redirector or null for none.
      • setRedirector

        public static boolean setRedirector​(ILoggerRedirector newRedirector)
        Sets the log redirector used when redirecting an event from client to server.
        Parameters:
        newRedirector - the new redirector or null for none.
        Returns:
        true if the setting changed, false if same value was present.
      • getCurrent

        public static Loggers getCurrent()
        Method to get the Loggers instance from the calling thread.
        Returns:
        The current Loggers instance of the calling thread.
      • log

        public static void log​(int level,
                               java.lang.String clazz,
                               java.lang.String msg)
        Logs an event to the logger of the current thread or thread group.
        Parameters:
        level - The log level.
        clazz - Event originates from class or logger name.
        msg - The message.
      • log

        public static void log​(int level,
                               java.lang.String clazz,
                               java.lang.String msg,
                               java.lang.Object param)
        Logs an event to the logger of the current thread or thread group.
        Parameters:
        level - The log level.
        clazz - Event originates from class or logger name.
        msg - The message.
        param - The parameter, or null for none.
      • log

        public static void log​(int level,
                               java.lang.String clazz,
                               java.lang.String msg,
                               java.lang.Object param1,
                               java.lang.Object param2)
        Logs an event to the logger of the current thread or thread group.
        Parameters:
        level - The log level.
        clazz - Event originates from class or logger name.
        msg - The message.
        param1 - The first parameter, or null for none.
        param2 - The second parameter, or null for none.
      • log

        public static void log​(int level,
                               java.lang.String clazz,
                               java.lang.String msg,
                               java.lang.Object... params)
        Logs an event to the logger of the current thread or thread group.
        Parameters:
        level - The log level.
        clazz - Event originates from class or logger name.
        msg - The message.
        params - The list of parameters, or null for none.
      • logForced

        public static void logForced​(int level,
                                     java.lang.String clazz,
                                     java.lang.String msg)
        Logs an event to the logger of the current thread or thread group.
        Parameters:
        level - The log level.
        clazz - Event originates from class or logger name.
        msg - The message.
      • logForced

        public static void logForced​(int level,
                                     java.lang.String clazz,
                                     java.lang.String msg,
                                     java.lang.Object param)
        Forces logging of an event to the logger of the current thread or thread group.
        Parameters:
        level - The log level.
        clazz - Event originates from class or logger name.
        msg - The message.
        param - The parameter, or null for none.
      • logForced

        public static void logForced​(int level,
                                     java.lang.String clazz,
                                     java.lang.String msg,
                                     java.lang.Object param1,
                                     java.lang.Object param2)
        Forces logging of an event to the logger of the current thread or thread group.
        Parameters:
        level - The log level.
        clazz - Event originates from class or logger name.
        msg - The message.
        param1 - The first parameter, or null for none.
        param2 - The second parameter, or null for none.
      • logForced

        public static void logForced​(int level,
                                     java.lang.String clazz,
                                     java.lang.String msg,
                                     java.lang.Object... params)
        Forces logging of an event to the logger of the current thread or thread group.
        Parameters:
        level - The log level.
        clazz - Event originates from class or logger name.
        msg - The message.
        params - The list of parameters, or null for none.
      • createThread

        public static java.lang.Thread createThread​(java.lang.Runnable r,
                                                    java.lang.String name)
        Creates a new Thread with a specific name and an associated logger.
        Parameters:
        r - The Runnable.
        name - The name of the thread and the Loggers instance.
        Returns:
        A new Loggers enabled thread.
      • createThread

        public static java.lang.Thread createThread​(java.lang.Runnable r,
                                                    java.lang.String name,
                                                    java.lang.Object o)
        Creates a new Thread with a specific name and an associated logger along with an attached thread object, typically an instance of SessionInfo.
        Parameters:
        r - The Runnable.
        name - The name of the thread and the Loggers instance.
        o - An object or null for none.
        Returns:
        A new Loggers enabled thread.
      • createThread

        public static java.lang.Thread createThread​(java.lang.ThreadGroup tg,
                                                    java.lang.Runnable r,
                                                    java.lang.String name)
        Creates a new Thread with a specific name and an associated logger.
        Parameters:
        tg - The ThreadGroup.
        r - The Runnable.
        name - The name of the thread and the Loggers instance.
        Returns:
        A new Loggers enabled thread.
      • createThread

        public static java.lang.Thread createThread​(java.lang.ThreadGroup tg,
                                                    java.lang.Runnable r,
                                                    java.lang.String name,
                                                    java.lang.Object o)
        Creates a new Thread with a specific name and an associated logger.
        Parameters:
        tg - The ThreadGroup.
        r - The Runnable.
        name - The name of the thread and the Loggers instance.
        o - An object or null for none.
        Returns:
        A new Loggers enabled thread.
      • createThreadGroup

        public static java.lang.ThreadGroup createThreadGroup​(java.lang.String name)
        Creates a new Thread Group with a specific name and an associated logger.
        Parameters:
        name - The name of the thread and the Loggers instance.
        Returns:
        A new Loggers enabled thread group.
      • createThreadGroup

        public static java.lang.ThreadGroup createThreadGroup​(java.lang.String name,
                                                              java.lang.Object o)
        Creates a new Thread Group with a specific name and an associated logger.
        Parameters:
        name - The name of the thread and the Loggers instance.
        o - An object or null for none.
        Returns:
        A new Loggers enabled thread group.
      • createThreadGroup

        public static java.lang.ThreadGroup createThreadGroup​(java.lang.ThreadGroup parent,
                                                              java.lang.String name)
        Creates a new Thread Group with a specific name and an associated logger.
        Parameters:
        parent - The parent thread group.
        name - The name of the thread and the Loggers instance.
        Returns:
        A new Loggers enabled thread group.
      • createThreadGroup

        public static java.lang.ThreadGroup createThreadGroup​(java.lang.ThreadGroup parent,
                                                              java.lang.String name,
                                                              java.lang.Object o)
        Creates a new Thread Group with a specific name and an associated logger.
        Parameters:
        parent - The parent thread group.
        name - The name of the thread and the Loggers instance.
        o - An object or null for none.
        Returns:
        A new Loggers enabled thread group.
      • getTObject

        public static java.lang.Object getTObject()
        Gets the thread object or thread group object for the calling thread. If the thread has been created in this class using createThread, but without a thread object (or if it is null), the thread group (and parent thread groups) will be searched for such an object.
        Returns:
        Object The object of the thread or thread group, or null for none.
      • getName

        public java.lang.String getName()
        Gets the name of this logger.
        Returns:
        A String that is never null, but empty string.