Class POILogger

java.lang.Object
org.apache.poi.util.POILogger
Direct Known Subclasses:
CommonsLogger, NullLogger, SystemOutLogger

@Internal public abstract class POILogger extends Object
A logger interface that strives to make it as easy as possible for developers to write log calls, while simultaneously making those calls as cheap as possible by performing lazy evaluation of the log message.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    protected static final String[]
    Long strings for numeric log level.
    protected static final String[]
    Short strings for numeric log level.
    static final int
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract void
    _log(int level, Object obj1)
    Log a message
    protected abstract void
    _log(int level, Object obj1, Throwable exception)
    Log a message
    abstract boolean
    check(int level)
    Check if a logger is enabled to log at the specified level This allows code to avoid building strings or evaluating functions in the arguments to log.
    abstract void
     
    void
    log(int level, Object... objs)
    Log a message.

    Methods inherited from class java.lang.Object

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

    • DEBUG

      public static final int DEBUG
      See Also:
    • INFO

      public static final int INFO
      See Also:
    • WARN

      public static final int WARN
      See Also:
    • ERROR

      public static final int ERROR
      See Also:
    • FATAL

      public static final int FATAL
      See Also:
    • LEVEL_STRINGS_SHORT

      protected static final String[] LEVEL_STRINGS_SHORT
      Short strings for numeric log level. Use level as array index.
    • LEVEL_STRINGS

      protected static final String[] LEVEL_STRINGS
      Long strings for numeric log level. Use level as array index.
  • Method Details

    • initialize

      public abstract void initialize(String cat)
    • _log

      protected abstract void _log(int level, Object obj1)
      Log a message
      Parameters:
      level - One of DEBUG, INFO, WARN, ERROR, FATAL
      obj1 - The object to log. This is converted to a string.
    • _log

      protected abstract void _log(int level, Object obj1, Throwable exception)
      Log a message
      Parameters:
      level - One of DEBUG, INFO, WARN, ERROR, FATAL
      obj1 - The object to log. This is converted to a string.
      exception - An exception to be logged
    • check

      public abstract boolean check(int level)
      Check if a logger is enabled to log at the specified level This allows code to avoid building strings or evaluating functions in the arguments to log. An example:
       if (logger.check(POILogger.INFO)) {
           logger.log(POILogger.INFO, "Avoid concatenating " + " strings and evaluating " + functions());
       }
       
      Parameters:
      level - One of DEBUG, INFO, WARN, ERROR, FATAL
    • log

      public void log(int level, Object... objs)
      Log a message. Lazily appends Object parameters together. If the last parameter is a Throwable it is logged specially.
      Parameters:
      level - One of DEBUG, INFO, WARN, ERROR, FATAL
      objs - the objects to place in the message