Interface Logger

All Superinterfaces:
org.slf4j.Logger
All Known Implementing Classes:
JSR47Logger_impl, Log4jLogger_impl, Logger_common_impl, Logger_impl, Slf4jLogger_impl

public interface Logger extends org.slf4j.Logger
A Logger is a component used to log messages. This interface defines the standard way for UIMA components to produce log output.

In the UIMA SDK, this interface is implemented using the Java logger as a back end.

The back end may be changed to Apache Log4j 2 by specifying -Dorg.apache.uima.logger.class=org.apache.uima.util.impl.Log4jLogger_impl and including the log4j 2 JARs in the classpath.

If you want to configure the logger, for example to specify the location of the log file and the logging level, you use whatever back end logger implementation specifies, or use that logger's APIs. should use the standard Java logger properties or the java.util.logging APIs. See the section "Specifying the Logging Configuration" in the Annotator and Analysis Engine Developer's Guide chapter of the UIMA documentation for more information.

Version 3 augments this API with methods to do UIMA-Resource-bundle-based internationalization, separate from logging, so the String result can be used with various back end loggers.

Version 3 augments isLoggable to include the Marker.

  • Field Details

    • UIMA_MARKER_CONFIG

      static final org.slf4j.Marker UIMA_MARKER_CONFIG
    • UIMA_MARKER_FINEST

      static final org.slf4j.Marker UIMA_MARKER_FINEST
  • Method Details

    • log

      @Deprecated void log(String aMessage)
      Deprecated.
      use new function with log level
      Logs a message.
      Parameters:
      aMessage - the message to be logged with message level INFO
    • log

      @Deprecated void log(String aResourceBundleName, String aMessageKey, Object[] aArguments)
      Deprecated.
      use new function with log level
      Logs an internationalized message.
      Parameters:
      aResourceBundleName - base name of resource bundle
      aMessageKey - key of message to localize with message level INFO
      aArguments - arguments to message (may be null if none)
    • logException

      @Deprecated void logException(Exception aException)
      Deprecated.
      use new function with log level
      Logs an exception
      Parameters:
      aException - the exception to be logged with message level INFO
    • setOutputStream

      @Deprecated void setOutputStream(PrintStream aStream)
      Deprecated.
      use external configuration possibility
      Sets the output stream to which log messages will go. Setting the output stream to null will disable the logger.
      Parameters:
      aStream - PrintStream to which log messages will be printed
    • setOutputStream

      @Deprecated void setOutputStream(OutputStream aStream)
      Deprecated.
      use external configuration possibility
      Sets the output stream to which log messages will go. Setting the output stream to null will disable the logger.
      Parameters:
      aStream - OutputStream to which log messages will be printed
    • log

      void log(Level level, String aMessage)
      Logs a message.
      Parameters:
      level - message level
      aMessage - the message to be logged
    • log

      void log(Level level, String aMessage, Object param1)
      Logs a message with one parameter
      Parameters:
      level - message level
      aMessage - the message to be logged
      param1 - message parameter
    • log

      void log(Level level, String aMessage, Object[] params)
      Logs a message with an arbitrary number of parameters
      Parameters:
      level - message level
      aMessage - the message to be logged
      params - message parameter array
    • log

      void log(Level level, String aMessage, Throwable thrown)
      Logs a message and a throwable object
      Parameters:
      level - message level
      aMessage - the message to be logged
      thrown - throwable object
    • logrb

      void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msgKey)
      Logs a message with a message key. The real message is extracted from a resource bundle.
      Parameters:
      level - message level
      sourceClass - source class name
      sourceMethod - source method name
      bundleName - resource bundle
      msgKey - message key
    • logrb

      void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msgKey, Object param1)
      Logs a message with a message key and one parameter. The real message is extracted from a resource bundle.
      Parameters:
      level - message level
      sourceClass - source class name
      sourceMethod - source method name
      bundleName - resource bundle
      msgKey - message key
      param1 - message parameter
    • logrb

      void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msgKey, Object[] params)
      Logs a message with a message key and an arbitrary number of parameters. The real message is extracted from a resource bundle.
      Parameters:
      level - message level
      sourceClass - source class name
      sourceMethod - source method name
      bundleName - resource bundle
      msgKey - message key
      params - message parameter array with an arbitrary number of parameters
    • logrb

      void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msgKey, Throwable thrown)
      Logs a message with a message key and a throwable object. The real message is extracted from a resource bundle.
      Parameters:
      level - message level
      sourceClass - source class name
      sourceMethod - source method name
      bundleName - resource bundle
      msgKey - message key
      thrown - throwable object
    • log

      void log(String wrapperFQCN, Level level, String message, Throwable thrown)
      Generic logging method intended for logging wrappers.
      Parameters:
      wrapperFQCN - fully qualified class name of the wrapper
      level - message level
      message - message
      thrown - throwable object
    • isLoggable

      boolean isLoggable(Level level)
      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

      boolean isLoggable(Level level, org.slf4j.Marker marker)
      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
    • setLevel

      void setLevel(Level level)
      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
    • setResourceManager

      @Deprecated void setResourceManager(ResourceManager resourceManager)
      Deprecated.
      When a logger is used within UIMA, the resource manager is picked up from the UimaContextHolder and if none is available, then the class loader set on the Thread.getContextClassLoader() is used. Thus, setting a resource manager for loading message localizations should not be required. Setting a resource manager anyway can lead to resource being registered in the resource manager to not be garbage collected in a timely manner. Also, the logger is shared globally and in a multi-threaded/multi-classloader scenario, it is likely that different threads overwrite each others logger resource manager making it likely that in any given thread the wrong resource manager is used by the logger.
      Sets the ResourceManager to use for message localization. This method is intended for use by the framework, not by user code.
      Parameters:
      resourceManager - A resource manager instance whose extension ClassLoader (if any) will be used for message localization by this logger.
    • rb

      String rb(String resourceBundle, String key, Object... params)
      Get an internationalized message from a resource bundle by key name, substituting the parameters. This should be called via a Supplier to avoid computing this until needed
      Parameters:
      resourceBundle - -
      key - -
      params - -
      Returns:
      the internationalized message
    • rb_ue

      default String rb_ue(String key, Object... params)
    • isAnnotatorLogger

      boolean isAnnotatorLogger()
      This is true if the name of the logger corresponds to a class which implements AnalysisComponent_ImplBase, which includes basic Annotators, plus Cas Multipliers and CPP components.
      Returns:
      true if this logger is an Annotator logger.
    • getLimitedLogger

      default Logger getLimitedLogger(int limit)
      Parameters:
      limit - the limit
      Returns:
      a copy of the logger with the throttling limit set, or the same logger if no change
    • debug

      void debug(Supplier<String> msgSupplier)
      Parameters:
      msgSupplier - A function, which when called, produces the desired log message
    • debug

      void debug(Supplier<String> msgSupplier, Throwable throwable)
      Parameters:
      msgSupplier - A function, which when called, produces the desired log message
      throwable - the exception to log
    • debug

      void debug(org.slf4j.Marker marker, String message, Supplier<?>... paramSuppliers)
      Parameters:
      marker - the marker data specific to this log statement
      message - the message to log
      paramSuppliers - An array of functions, which when called, produce the desired log message parameters.
    • debug

      void debug(String message, Supplier<?>... paramSuppliers)
      Parameters:
      message - the message to log
      paramSuppliers - An array of functions, which when called, produce the desired log message parameters.
    • debug

      void debug(org.slf4j.Marker marker, Supplier<String> msgSupplier)
      Parameters:
      marker - the marker data specific to this log statement
      msgSupplier - A function, which when called, produces the desired log message
    • debug

      void debug(org.slf4j.Marker marker, Supplier<String> msgSupplier, Throwable throwable)
      Parameters:
      marker - the marker data specific to this log statement
      msgSupplier - A function, which when called, produces the desired log message
      throwable - the exception to log
    • error

      void error(Supplier<String> msgSupplier)
      Parameters:
      msgSupplier - A function, which when called, produces the desired log message
    • error

      void error(Supplier<String> msgSupplier, Throwable throwable)
      Parameters:
      msgSupplier - A function, which when called, produces the desired log message
      throwable - the exception to log
    • error

      void error(org.slf4j.Marker marker, String message, Supplier<?>... paramSuppliers)
      Parameters:
      marker - the marker data specific to this log statement
      message - the message to log
      paramSuppliers - An array of functions, which when called, produce the desired log message parameters.
    • error

      void error(String message, Supplier<?>... paramSuppliers)
      Parameters:
      message - the message to log
      paramSuppliers - An array of functions, which when called, produce the desired log message parameters.
    • error

      void error(org.slf4j.Marker marker, Supplier<String> msgSupplier)
      Parameters:
      marker - the marker data specific to this log statement
      msgSupplier - A function, which when called, produces the desired log message
    • error

      void error(org.slf4j.Marker marker, Supplier<String> msgSupplier, Throwable throwable)
      Parameters:
      marker - the marker data specific to this log statement
      msgSupplier - A function, which when called, produces the desired log message
      throwable - the exception to log
    • info

      void info(Supplier<String> msgSupplier)
      Parameters:
      msgSupplier - A function, which when called, produces the desired log message
    • info

      void info(Supplier<String> msgSupplier, Throwable throwable)
      Parameters:
      msgSupplier - A function, which when called, produces the desired log message
      throwable - the exception to log
    • info

      void info(org.slf4j.Marker marker, String message, Supplier<?>... paramSuppliers)
      Parameters:
      marker - the marker data specific to this log statement
      message - the message to log
      paramSuppliers - An array of functions, which when called, produce the desired log message parameters.
    • info

      void info(org.slf4j.Marker marker, Supplier<String> msgSupplier)
      Parameters:
      marker - the marker data specific to this log statement
      msgSupplier - A function, which when called, produces the desired log message
    • info

      void info(org.slf4j.Marker marker, Supplier<String> msgSupplier, Throwable throwable)
      Parameters:
      marker - the marker data specific to this log statement
      msgSupplier - A function, which when called, produces the desired log message
      throwable - the exception to log
    • trace

      void trace(Supplier<String> msgSupplier)
      Parameters:
      msgSupplier - A function, which when called, produces the desired log message
    • trace

      void trace(Supplier<String> msgSupplier, Throwable throwable)
      Parameters:
      msgSupplier - A function, which when called, produces the desired log message
      throwable - the exception to log
    • trace

      void trace(org.slf4j.Marker marker, String message, Supplier<?>... paramSuppliers)
      Parameters:
      marker - the marker data specific to this log statement
      message - the message to log
      paramSuppliers - An array of functions, which when called, produce the desired log message parameters.
    • trace

      void trace(String message, Supplier<?>... paramSuppliers)
      Parameters:
      message - the message to log
      paramSuppliers - An array of functions, which when called, produce the desired log message parameters.
    • trace

      void trace(org.slf4j.Marker marker, Supplier<String> msgSupplier)
      Parameters:
      marker - the marker data specific to this log statement
      msgSupplier - A function, which when called, produces the desired log message
    • trace

      void trace(org.slf4j.Marker marker, Supplier<String> msgSupplier, Throwable throwable)
      Parameters:
      marker - the marker data specific to this log statement
      msgSupplier - A function, which when called, produces the desired log message
      throwable - the exception to log
    • warn

      void warn(Supplier<String> msgSupplier)
      Parameters:
      msgSupplier - A function, which when called, produces the desired log message
    • warn

      void warn(Supplier<String> msgSupplier, Throwable throwable)
      Parameters:
      msgSupplier - A function, which when called, produces the desired log message
      throwable - the exception to log
    • warn

      void warn(org.slf4j.Marker marker, String message, Supplier<?>... paramSuppliers)
      Parameters:
      marker - the marker data specific to this log statement
      message - the message to log
      paramSuppliers - An array of functions, which when called, produce the desired log message parameters.
    • warn

      void warn(String message, Supplier<?>... paramSuppliers)
      Parameters:
      message - the message to log
      paramSuppliers - An array of functions, which when called, produce the desired log message parameters.
    • warn

      void warn(org.slf4j.Marker marker, Supplier<String> msgSupplier)
      Parameters:
      marker - the marker data specific to this log statement
      msgSupplier - A function, which when called, produces the desired log message
    • warn

      void warn(org.slf4j.Marker marker, Supplier<String> msgSupplier, Throwable throwable)
      Parameters:
      marker - the marker data specific to this log statement
      msgSupplier - A function, which when called, produces the desired log message
      throwable - the exception to log