Class Log4jLogger_impl

java.lang.Object
org.apache.uima.util.impl.Logger_common_impl
org.apache.uima.util.impl.Log4jLogger_impl
All Implemented Interfaces:
Logger, org.slf4j.Logger

public class Log4jLogger_impl extends Logger_common_impl
UIMA Logging interface implementation for Log4j This version is for Log4j version 2, from Apache Built using version 2.8
  • Field Details

    • LOG4J_CONFIG

      private static final org.apache.logging.log4j.Marker LOG4J_CONFIG

      Markers that are for marking levels not supported by log4j.

      These are log4j class versions of the slf4j markers.

    • LOG4J_FINEST

      private static final org.apache.logging.log4j.Marker LOG4J_FINEST
    • FILTER_CONFIG

      private static final org.apache.logging.log4j.core.filter.AbstractFilter FILTER_CONFIG
    • FILTER_FINEST

      private static final org.apache.logging.log4j.core.filter.AbstractFilter FILTER_FINEST
    • logger

      private final org.apache.logging.log4j.spi.ExtendedLoggerWrapper logger
      logger object from the underlying Log4j logging framework The ExtendedLoggerWrapper includes the ability to specify the wrapper class
    • coreLogger

      private final org.apache.logging.log4j.core.Logger coreLogger
    • mf

      private final org.apache.logging.log4j.message.MessageFactory mf
  • Constructor Details

    • Log4jLogger_impl

      private Log4jLogger_impl(Class<?> component)
      create a new LogWrapper class for the specified source class
      Parameters:
      component - specified source class
    • Log4jLogger_impl

      private Log4jLogger_impl(Log4jLogger_impl l, int limit)
  • Method Details

    • makeFilter

      private static org.apache.logging.log4j.core.filter.AbstractFilter makeFilter(org.apache.logging.log4j.Level tLevel, org.apache.logging.log4j.Marker tMarker)
      Filters for use in setLevel calls, for levels that need marker filtering.

      Filters return NEUTRAL unless it's for the associated level. For associated level (e.g., INFO or TRACE), they return ACCEPT if the marker is present DENY otherwise

    • getInstance

      public static Logger getInstance(Class<?> component)
      Creates a new Log4jLogger instance for the specified source class
      Parameters:
      component - current source class
      Returns:
      Logger returns the JSR47Logger object for the specified class
    • getInstance

      public static Logger getInstance()
      Creates a new Log4jLogger instance with the default Log4j framework logger
      Returns:
      Logger returns the JSR47Logger object with the default Log4j framework logger
    • getLimitedLogger

      public Log4jLogger_impl getLimitedLogger(int aLimit)
      Parameters:
      aLimit - the limit
      Returns:
      a copy of the logger with the throttling limit set, or the same logger if no change
    • getLog4jLevel

      static org.apache.logging.log4j.Level getLog4jLevel(Level level)
      log4j level mapping to UIMA level mapping.
      SEVERE (highest value) -> SEVERE
      WARNING -> WARNING
      INFO -> INFO
      CONFIG -> INFO
      FINE -> DEBUG
      FINER -> TRACE
      FINEST (lowest value) -> TRACE
      OFF -> OFF
      ALL -> ALL
      Parameters:
      level - uima level
      Returns:
      Level - corresponding log4j 2 level
    • m

      private static org.apache.logging.log4j.Marker m(org.slf4j.Marker m)
    • isLoggable

      public boolean isLoggable(Level level)
      Description copied from interface: Logger
      Checks if the argument level is greater or equal to the specified level
      Parameters:
      level - message level
      Returns:
      boolean - true if the argument level is greater or equal to the specified level
    • isLoggable

      public boolean isLoggable(Level level, org.slf4j.Marker marker)
      Description copied from interface: Logger
      Checks if this logger is enabled for this level and this marker
      Parameters:
      level - the level to test
      marker - null or the marker to test
      Returns:
      true if the level is greater or equal to the specified level and the marker matches
    • filterTest

      private org.apache.logging.log4j.core.Filter.Result filterTest(org.apache.logging.log4j.Level level, org.apache.logging.log4j.Marker marker)
      Parameters:
      level - a log4j level that's equal or above (ERROR is highest) the level being tested
      marker - - the marker that needs to be there to allow this
      Returns:
      - the result of running the logger filter test if there is one, else NEUTRAL
    • setLevel

      public void setLevel(Level level)
      Description copied from interface: Logger
      Sets the level of messages that will be logged by this logger. Note that if you call UIMAFramework.getLogger().setLevel(level), this will only change the logging level for messages produced by the UIMA framework. It will NOT change the logging level for messages produced by annotators. To change the logging level for an annotator, use UIMAFramework.getLogger(YourAnnotatorClass.class).setLevel(level).

      If you need more flexibility it configuring the logger, consider using the standard Java logger properties file or the java.util.logging APIs.

      Parameters:
      level - message level
    • log

      public void log(org.slf4j.Marker m, String aFqcn, Level level, String message, Object[] args, Throwable thrown)
      Description copied from class: Logger_common_impl
      The main log call implemented by subclasses
      Specified by:
      log in class Logger_common_impl
      Parameters:
      m - the marker
      aFqcn - the fully qualified class name of the top-most logging class used to filter the stack trace to get the caller class / method info
      level - the UIMA level
      message - -
      args - - arguments to be substituted into the message
      thrown - - can be null
    • log

      public void log(org.slf4j.Marker m, String aFqcn, Level level, String message, Throwable thrown)
      Description copied from class: Logger_common_impl
      The version of the main log call implemented by subclasses that skips the substitution because it already was done by rb()
      Specified by:
      log in class Logger_common_impl
      Parameters:
      m - the marker
      aFqcn - the fully qualified class name of the top-most logging class used to filter the stack trace to get the caller class / method info
      level - the UIMA level
      message - -
      thrown - - can be null
    • log2

      public void log2(org.slf4j.Marker m, String aFqcn, Level level, String message, Object[] args, Throwable thrown)
      Description copied from class: Logger_common_impl
      The version of the main log call implemented by subclasses that uses {}, not {n} as the substitutable syntax. This syntax is used by log4j, slf4j, and others. But not used by uimaj logger basic syntax, or Java Util Logger. This version is called by all new logging statments that don't need to be backwards compatible. e.g. logger.info, logger.error, logger.warn, etc.
      Specified by:
      log2 in class Logger_common_impl
      Parameters:
      m - the marker
      aFqcn - the fully qualified class name of the top-most logging class used to filter the stack trace to get the caller class / method info
      level - the UIMA level
      message - -
      args - - arguments to be substituted into the message
      thrown - - can be null
    • getName

      public String getName()
    • isDebugEnabled

      public boolean isDebugEnabled()
    • isDebugEnabled

      public boolean isDebugEnabled(org.slf4j.Marker arg0)
    • isErrorEnabled

      public boolean isErrorEnabled()
    • isErrorEnabled

      public boolean isErrorEnabled(org.slf4j.Marker arg0)
    • isInfoEnabled

      public boolean isInfoEnabled()
    • isInfoEnabled

      public boolean isInfoEnabled(org.slf4j.Marker arg0)
    • isTraceEnabled

      public boolean isTraceEnabled()
    • isTraceEnabled

      public boolean isTraceEnabled(org.slf4j.Marker arg0)
    • isWarnEnabled

      public boolean isWarnEnabled()
    • isWarnEnabled

      public boolean isWarnEnabled(org.slf4j.Marker arg0)