org.tentackle.util
Class Logger

java.lang.Object
  extended by org.tentackle.util.Logger
Direct Known Subclasses:
DefaultLogger, Log4JLogger

public abstract class Logger
extends Object

Abstraction of a Logger.

The standard logging in java.util.logging works but has some disadvantages. Other loggers like log4j are better alternatives. Tentackle provides an abstraction to hide the concrete implementation. By default, Tentackle uses the standard java-logging. However, by extending org.tentackle.util.Logger any other implementation may used instead. Currently, two implementations are supported: DefaultLogger for java.util.logging and Log4JLogger for org.apache.log4j. Changing the logger is easily done by setting LOGGER_CLASSNAME to a class extending Logger.

Author:
harald

Nested Class Summary
static class Logger.Level
          Logging levels.
 
Field Summary
static String LOGGER_CLASSNAME
          the logger classname used in getLogger(java.lang.String)
 
Constructor Summary
Logger()
           
 
Method Summary
abstract  void fine(String message)
          Logs a message with level FINE.
abstract  void finer(String message)
          Logs a message with level FINER.
abstract  void finest(String message)
          Logs a message with level FINEST.
static Logger getLogger(String name)
          Gets a logger for the given name.
abstract  void info(String message)
          Logs a message with level INFO.
abstract  boolean isFineLoggable()
          Checks if logger logs level FINE.
abstract  boolean isFinerLoggable()
          Checks if logger logs level FINER.
abstract  boolean isFinestLoggable()
          Checks if logger logs level FINEST.
abstract  boolean isInfoLoggable()
          Checks if logger logs level INFO.
abstract  boolean isLoggable(Logger.Level level)
          Checks if a message of the given level would actually be logged by this logger.
abstract  boolean isSevereLoggable()
          Checks if logger logs level SEVERE.
abstract  boolean isWarningLoggable()
          Checks if logger logs level WARNING.
abstract  void log(Logger.Level level, String message, Throwable cause)
          Logs a message.
 void logStacktrace(Logger.Level level, Throwable cause)
          Logs the stacktrace of a throwable.
 void logStacktrace(Throwable cause)
          Logs the stacktrace of a throwable with a logging level of SEVERE.
abstract  void severe(String message)
          Logs a message with level SEVERE.
abstract  void warning(String message)
          Logs a message with level WARNING.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOGGER_CLASSNAME

public static String LOGGER_CLASSNAME
the logger classname used in getLogger(java.lang.String)

Constructor Detail

Logger

public Logger()
Method Detail

getLogger

public static Logger getLogger(String name)
Gets a logger for the given name.

The method loads the class given by LOGGER_CLASSNAME and looks for a static method getLogger(String). If no such method is found, it will instantiate the class using a constructor with the name as its single argument. If all else failes, it returns a new DefaultLogger for that name.

Parameters:
name - the logger name
Returns:
the logger

logStacktrace

public void logStacktrace(Logger.Level level,
                          Throwable cause)
Logs the stacktrace of a throwable.

Parameters:
level - the logging level
cause - the Throwable to log the stacktrace for

logStacktrace

public void logStacktrace(Throwable cause)
Logs the stacktrace of a throwable with a logging level of SEVERE.

Parameters:
cause - the Throwable to log the stacktrace for

isLoggable

public abstract boolean isLoggable(Logger.Level level)
Checks if a message of the given level would actually be logged by this logger.

Parameters:
level - the logging level
Returns:
true if the given logging level is currently being logged

isFinestLoggable

public abstract boolean isFinestLoggable()
Checks if logger logs level FINEST.

Returns:
true if logger will log this level

isFinerLoggable

public abstract boolean isFinerLoggable()
Checks if logger logs level FINER.

Returns:
true if logger will log this level

isFineLoggable

public abstract boolean isFineLoggable()
Checks if logger logs level FINE.

Returns:
true if logger will log this level

isInfoLoggable

public abstract boolean isInfoLoggable()
Checks if logger logs level INFO.

Returns:
true if logger will log this level

isWarningLoggable

public abstract boolean isWarningLoggable()
Checks if logger logs level WARNING.

Returns:
true if logger will log this level

isSevereLoggable

public abstract boolean isSevereLoggable()
Checks if logger logs level SEVERE.

Returns:
true if logger will log this level

log

public abstract void log(Logger.Level level,
                         String message,
                         Throwable cause)
Logs a message.

Parameters:
level - the logging level
message - the message
cause - the Throwable associated with log message, null if none

finest

public abstract void finest(String message)
Logs a message with level FINEST.

Parameters:
message - the message

finer

public abstract void finer(String message)
Logs a message with level FINER.

Parameters:
message - the message

fine

public abstract void fine(String message)
Logs a message with level FINE.

Parameters:
message - the message

info

public abstract void info(String message)
Logs a message with level INFO.

Parameters:
message - the message

warning

public abstract void warning(String message)
Logs a message with level WARNING.

Parameters:
message - the message

severe

public abstract void severe(String message)
Logs a message with level SEVERE.

Parameters:
message - the message


Copyright © 2001-2008 Harald Krake, Bergstr. 48, 78098 Triberg, Germany, harald@krake.de