edu.stanford.nlp.util.logging.PrettyLoggable Maven / Gradle / Ivy
package edu.stanford.nlp.util.logging;
import edu.stanford.nlp.util.logging.Redwood.RedwoodChannels;
/**
* Indicates that a class supports "pretty logging". Pretty logging is a type of
* pretty-printing that uses the Redwood logging system to structure itself.
*
* When pretty logging the contents of your object, you should check to see if
* each object (call it obj
) is dispatchable with
* PrettyLogger.dispatchable(obj)
if you don't know their type. If
* true, you should call channels.prettyLog(obj)
to pretty log it.
* Otherwise, use its toString()
method.
*
* @see PrettyLogger
* @author David McClosky
*
*/
public interface PrettyLoggable {
/**
* Pretty logs the current object to specific Redwood channels.
*
* @param channels
* the channels which should be logged to -- all logging calls should
* use logging methods on the channels (e.g. channels.log(), etc.)
* @param description
* The description of the object. It will potentially identify the
* object's functional role or (failing that) its class. This is
* typically used as a track name surrounding the contents of this
* object.
*/
public void prettyLog(RedwoodChannels channels, String description);
}