Class LoggingUtils

    • Method Detail

      • generateMnemonicMap

        public static NavigableMap<Integer,​String> generateMnemonicMap​(Class<?> clazz,
                                                                             String commonPrefix)
        Scans using reflection API for all fields that are public static final that start with the given common prefix (case sensitive) and are of type Number.
        Parameters:
        clazz - The Class to query
        commonPrefix - The expected common prefix
        Returns:
        A NavigableMap of all the matching fields, where key=the field's Integer value and mapping=the field's name
        See Also:
        generateMnemonicMap(Class, Predicate)
      • generateMnemonicMap

        public static NavigableMap<Integer,​String> generateMnemonicMap​(Class<?> clazz,
                                                                             Predicate<? super Field> acceptor)
        Scans using reflection API for all numeric public static final fields that are also accepted by the predicate. Any field that is not such or fail to retrieve its value, or has a duplicate value is silently skipped.
        Parameters:
        clazz - The Class to query
        acceptor - The Predicate used to decide whether to process the Field (besides being a Number and public static final).
        Returns:
        A NavigableMap of all the matching fields, where key=the field's Integer value and mapping=the field's name
        See Also:
        getMnemonicFields(Class, Predicate)
      • getAmbiguousMenmonics

        public static Map<String,​Integer> getAmbiguousMenmonics​(Class<?> clazz,
                                                                      String commonPrefix)
        Scans using reflection API for all numeric public static final fields that have a common prefix and whose value is used by several of the other matching fields
        Parameters:
        clazz - The Class to query
        commonPrefix - The expected common prefix
        Returns:
        A Map of all the mnemonic fields names whose value is the same as other fields in this map. The key is the field's name and value is its associated opcode.
        See Also:
        getAmbiguousMenmonics(Class, Predicate)
      • getAmbiguousMenmonics

        public static Map<String,​Integer> getAmbiguousMenmonics​(Class<?> clazz,
                                                                      Predicate<? super Field> acceptor)
        Scans using reflection API for all numeric public static final fields that are also accepted by the predicate and whose value is used by several of the other matching fields
        Parameters:
        clazz - The Class to query
        acceptor - The Predicate used to decide whether to process the Field (besides being a Number and public static final).
        Returns:
        A Map of all the mnemonic fields names whose value is the same as other fields in this map. The key is the field's name and value is its associated opcode.
        See Also:
        getMnemonicFields(Class, Predicate)
      • getMnemonicFields

        public static Collection<Field> getMnemonicFields​(Class<?> clazz,
                                                          Predicate<? super Field> acceptor)
        Scans using reflection API for all numeric public static final fields that are also accepted by the predicate.
        Parameters:
        clazz - The Class to query
        acceptor - The Predicate used to decide whether to process the Field (besides being a Number and public static final).
        Returns:
        A Collection of all the fields that have satisfied all conditions
      • isLoggable

        public static boolean isLoggable​(Level level,
                                         Level threshold)
        Verifies if the given level is above the required threshold for logging.
        Parameters:
        level - The Level to evaluate
        threshold - The threshold Level
        Returns:
        true if the evaluated level is above the required threshold.

        Note(s):

        • If either argument is null then result is false.

        • If the evaluated level is Level.OFF then result is false regardless of the threshold.

        • If the threshold is Level.ALL and the evaluated level is not Level.OFF the result is true.

        • Otherwise, the evaluated level Level.intValue() must be greater or equal to the threshold.

      • wrap

        public static SimplifiedLog wrap​(org.slf4j.Logger logger)
      • logMessage

        public static void logMessage​(org.slf4j.Logger logger,
                                      Level level,
                                      Object message,
                                      Throwable t)
      • isLoggable

        public static boolean isLoggable​(org.slf4j.Logger logger,
                                         Level level)
        Parameters:
        logger - The Logger instance - ignored if null
        level - The validate log Level - ignored if null
        Returns:

        true if the level is enabled for the logger. The mapping of the level to the logger is as follows:

      • loggingClosure

        public static <T> Consumer<T> loggingClosure​(org.slf4j.Logger logger,
                                                     Level level,
                                                     Throwable t)
      • nologClosure

        public static <T> Consumer<T> nologClosure​(org.slf4j.Logger logger)
        Type Parameters:
        T - Generic message type consumer
        Parameters:
        logger - The Logger instance to use
        Returns:
        A consumer whose Consumer.accept(Object) method logs nothing when invoked
      • errorClosure

        public static <T> Consumer<T> errorClosure​(org.slf4j.Logger logger)
        Type Parameters:
        T - Generic message type consumer
        Parameters:
        logger - The Logger instance to use
        Returns:
        A consumer whose Consumer.accept(Object) method logs the String.valueOf(Object) value of its argument if Logger.isErrorEnabled()
      • errorClosure

        public static <T> Consumer<T> errorClosure​(org.slf4j.Logger logger,
                                                   Throwable thrown)
        Type Parameters:
        T - Generic message type consumer
        Parameters:
        logger - The Logger instance to use
        thrown - A Throwable to attach to the message - ignored if null
        Returns:
        A consumer whose Consumer.accept(Object) method logs the String.valueOf(Object) value of its argument if Logger.isErrorEnabled()
      • warnClosure

        public static <T> Consumer<T> warnClosure​(org.slf4j.Logger logger)
        Type Parameters:
        T - Generic message type consumer
        Parameters:
        logger - The Logger instance to use
        Returns:
        A consumer whose Consumer.accept(Object) method logs the String.valueOf(Object) value of its argument if Logger.isWarnEnabled()
      • warnClosure

        public static <T> Consumer<T> warnClosure​(org.slf4j.Logger logger,
                                                  Throwable thrown)
        Type Parameters:
        T - Generic message type consumer
        Parameters:
        logger - The Logger instance to use
        thrown - A Throwable to attach to the message - ignored if null
        Returns:
        A consumer whose Consumer.accept(Object) method logs the String.valueOf(Object) value of its argument if Logger.isWarnEnabled()
      • infoClosure

        public static <T> Consumer<T> infoClosure​(org.slf4j.Logger logger)
        Type Parameters:
        T - Generic message type consumer
        Parameters:
        logger - The Logger instance to use
        Returns:
        A consumer whose Consumer.accept(Object) method logs the String.valueOf(Object) value of its argument if Logger.isInfoEnabled()
      • infoClosure

        public static <T> Consumer<T> infoClosure​(org.slf4j.Logger logger,
                                                  Throwable thrown)
        Type Parameters:
        T - Generic message type consumer
        Parameters:
        logger - The Logger instance to use
        thrown - A Throwable to attach to the message - ignored if null
        Returns:
        A consumer whose Consumer.accept(Object) method logs the String.valueOf(Object) value of its argument if Logger.isInfoEnabled()
      • debugClosure

        public static <T> Consumer<T> debugClosure​(org.slf4j.Logger logger)
        Type Parameters:
        T - Generic message type consumer
        Parameters:
        logger - The Logger instance to use
        Returns:
        A consumer whose Consumer.accept(Object) method logs the String.valueOf(Object) value of its argument if Logger.isDebugEnabled()
      • debugClosure

        public static <T> Consumer<T> debugClosure​(org.slf4j.Logger logger,
                                                   Throwable thrown)
        Type Parameters:
        T - Generic message type consumer
        Parameters:
        logger - The Logger instance to use
        thrown - A Throwable to attach to the message - ignored if null
        Returns:
        A consumer whose Consumer.accept(Object) method logs the String.valueOf(Object) value of its argument if Logger.isDebugEnabled()
      • traceClosure

        public static <T> Consumer<T> traceClosure​(org.slf4j.Logger logger)
        Type Parameters:
        T - Generic message type consumer
        Parameters:
        logger - The Logger instance to use
        Returns:
        A consumer whose Consumer.accept(Object) method logs the String.valueOf(Object) value of its argument if Logger.isTraceEnabled()
      • traceClosure

        public static <T> Consumer<T> traceClosure​(org.slf4j.Logger logger,
                                                   Throwable thrown)
        Type Parameters:
        T - Generic message type consumer
        Parameters:
        logger - The Logger instance to use
        thrown - A Throwable to attach to the message - ignored if null
        Returns:
        A consumer whose Consumer.accept(Object) method logs the String.valueOf(Object) value of its argument if Logger.isTraceEnabled()