Interface Log

public interface Log

A simple logging interface abstracting logging APIs. In order to be instantiated successfully by LogFactory, classes that implement this interface must have a constructor that takes a single String parameter representing the "name" of this Log.

The six logging levels used by Log are (in order):

  1. trace (the least serious)
  2. debug
  3. info
  4. warn
  5. error
  6. fatal (the most serious)

The mapping of these log levels to the concepts used by the underlying logging system is implementation dependent. The implementation should ensure, though, that this ordering behaves as expected.

Performance is often a logging concern. By examining the appropriate property, a component can avoid expensive operations (producing information to be logged).

For example, if (log.isDebugEnabled()) { ... do something expensive ... log.debug(theResult); }

Configuration of the underlying logging system will generally be done external to the Logging APIs, through whatever mechanism is supported by that system.

Scott Sanders, Rod Waldhoff