public class SimpleLogger extends MarkerIgnoringBase
 Simple implementation of Logger that sends all enabled log messages,
 for all defined loggers, to the console (System.err). The following
 system properties are supported to configure the behavior of this logger:
 
org.slf4j.simpleLogger.logFile - The output target which can
 be the path to a file, or the special values "System.out" and
 "System.err". Default is "System.err".org.slf4j.simpleLogger.cacheOutputStream - If the output
 target is set to "System.out" or "System.err" (see preceding entry), by
 default, logs will be output to the latest value referenced by
 System.out/err variables. By setting this
 parameter to true, the output stream will be cached, i.e. assigned once at
 initialization time and re-used independently of the current value referenced by
  System.out/err.
 org.slf4j.simpleLogger.defaultLogLevel - Default log level
 for all instances of SimpleLogger. Must be one of ("trace", "debug", "info",
 "warn", "error" or "off"). If not specified, defaults to "info".org.slf4j.simpleLogger.log.a.b.c - Logging detail
 level for a SimpleLogger instance named "a.b.c". Right-side value must be one
 of "trace", "debug", "info", "warn", "error" or "off". When a SimpleLogger
 named "a.b.c" is initialized, its level is assigned from this property. If
 unspecified, the level of nearest parent logger will be used, and if none is
 set, then the value specified by
 org.slf4j.simpleLogger.defaultLogLevel will be used.org.slf4j.simpleLogger.showDateTime - Set to
 true if you want the current date and time to be included in
 output messages. Default is falseorg.slf4j.simpleLogger.dateTimeFormat - The date and time
 format to be used in the output messages. The pattern describing the date and
 time format is defined by 
 SimpleDateFormat. If the format is not specified or is
 invalid, the number of milliseconds since start up will be output.org.slf4j.simpleLogger.showThreadName -Set to
 true if you want to output the current thread name. Defaults to
 true.org.slf4j.simpleLogger.showLogName - Set to
 true if you want the Logger instance name to be included in
 output messages. Defaults to true.org.slf4j.simpleLogger.showShortLogName - Set to
 true if you want the last component of the name to be included
 in output messages. Defaults to false.org.slf4j.simpleLogger.levelInBrackets - Should the level
 string be output in brackets? Defaults to false.org.slf4j.simpleLogger.warnLevelString - The string value
 output for the warn level. Defaults to WARN.
 In addition to looking for system properties with the names specified above,
 this implementation also checks for a class loader resource named
 "simplelogger.properties", and includes any matching definitions
 from this resource (if it exists).
 
With no configuration, the default output includes the relative time in milliseconds, thread name, the level, logger name, and the message followed by the line separator for the host. In log4j terms it amounts to the "%r [%t] %level %logger - %m%n" pattern.
Sample output follows.
176 [main] INFO examples.Sort - Populating an array of 2 elements in reverse order. 225 [main] INFO examples.SortAlgo - Entered the sort method. 304 [main] INFO examples.SortAlgo - Dump of integer array: 317 [main] INFO examples.SortAlgo - Element [0] = 0 331 [main] INFO examples.SortAlgo - Element [1] = 1 343 [main] INFO examples.Sort - The next log statement should be an error message. 346 [main] ERROR examples.SortAlgo - Tried to dump an uninitialized array. at org.log4j.examples.SortAlgo.dump(SortAlgo.java:58) at org.log4j.examples.Sort.main(Sort.java:64) 467 [main] INFO examples.Sort - Exiting main method.
This implementation is heavily inspired by Apache Commons Logging's SimpleLog.
| Modifier and Type | Field and Description | 
|---|---|
| static String | CACHE_OUTPUT_STREAM_STRING_KEY | 
| protected int | currentLogLevelThe current log level | 
| static String | DATE_TIME_FORMAT_KEY | 
| static String | DEFAULT_LOG_LEVEL_KEY | 
| static String | LEVEL_IN_BRACKETS_KEY | 
| static String | LOG_FILE_KEY | 
| static String | LOG_KEY_PREFIX | 
| protected static int | LOG_LEVEL_DEBUG | 
| protected static int | LOG_LEVEL_ERROR | 
| protected static int | LOG_LEVEL_INFO | 
| protected static int | LOG_LEVEL_OFF | 
| protected static int | LOG_LEVEL_TRACE | 
| protected static int | LOG_LEVEL_WARN | 
| protected String | name | 
| static String | SHOW_DATE_TIME_KEY | 
| static String | SHOW_LOG_NAME_KEY | 
| static String | SHOW_SHORT_LOG_NAME_KEY | 
| static String | SHOW_THREAD_NAME_KEY | 
| static String | SYSTEM_PREFIXAll system properties used by  SimpleLoggerstart with this
 prefix | 
| static String | WARN_LEVEL_STRING_KEY | 
ROOT_LOGGER_NAME| Modifier and Type | Method and Description | 
|---|---|
| void | debug(String msg)A simple implementation which logs messages of level DEBUG according to
 the format outlined above. | 
| void | debug(String format,
     Object... argArray)Perform double parameter substitution before logging the message of level
 DEBUG according to the format outlined above. | 
| void | debug(String format,
     Object param1)Perform single parameter substitution before logging the message of level
 DEBUG according to the format outlined above. | 
| void | debug(String format,
     Object param1,
     Object param2)Perform double parameter substitution before logging the message of level
 DEBUG according to the format outlined above. | 
| void | debug(String msg,
     Throwable t)Log a message of level DEBUG, including an exception. | 
| void | error(String msg)A simple implementation which always logs messages of level ERROR
 according to the format outlined above. | 
| void | error(String format,
     Object... argArray)Perform double parameter substitution before logging the message of level
 ERROR according to the format outlined above. | 
| void | error(String format,
     Object arg)Perform single parameter substitution before logging the message of level
 ERROR according to the format outlined above. | 
| void | error(String format,
     Object arg1,
     Object arg2)Perform double parameter substitution before logging the message of level
 ERROR according to the format outlined above. | 
| void | error(String msg,
     Throwable t)Log a message of level ERROR, including an exception. | 
| String | getName()Return the name of this  Loggerinstance. | 
| void | info(String msg)A simple implementation which logs messages of level INFO according to
 the format outlined above. | 
| void | info(String format,
    Object... argArray)Perform double parameter substitution before logging the message of level
 INFO according to the format outlined above. | 
| void | info(String format,
    Object arg)Perform single parameter substitution before logging the message of level
 INFO according to the format outlined above. | 
| void | info(String format,
    Object arg1,
    Object arg2)Perform double parameter substitution before logging the message of level
 INFO according to the format outlined above. | 
| void | info(String msg,
    Throwable t)Log a message of level INFO, including an exception. | 
| boolean | isDebugEnabled()Are  debugmessages currently enabled? | 
| boolean | isErrorEnabled()Are  errormessages currently enabled? | 
| boolean | isInfoEnabled()Are  infomessages currently enabled? | 
| protected boolean | isLevelEnabled(int logLevel)Is the given log level currently enabled? | 
| boolean | isTraceEnabled()Are  tracemessages currently enabled? | 
| boolean | isWarnEnabled()Are  warnmessages currently enabled? | 
| void | log(LoggingEvent event) | 
| protected Object | readResolve()Replace this instance with a homonymous (same name) logger returned 
 by LoggerFactory. | 
| protected String | renderLevel(int level) | 
| void | trace(String msg)A simple implementation which logs messages of level TRACE according to
 the format outlined above. | 
| void | trace(String format,
     Object... argArray)Perform double parameter substitution before logging the message of level
 TRACE according to the format outlined above. | 
| void | trace(String format,
     Object param1)Perform single parameter substitution before logging the message of level
 TRACE according to the format outlined above. | 
| void | trace(String format,
     Object param1,
     Object param2)Perform double parameter substitution before logging the message of level
 TRACE according to the format outlined above. | 
| void | trace(String msg,
     Throwable t)Log a message of level TRACE, including an exception. | 
| void | warn(String msg)A simple implementation which always logs messages of level WARN
 according to the format outlined above. | 
| void | warn(String format,
    Object... argArray)Perform double parameter substitution before logging the message of level
 WARN according to the format outlined above. | 
| void | warn(String format,
    Object arg)Perform single parameter substitution before logging the message of level
 WARN according to the format outlined above. | 
| void | warn(String format,
    Object arg1,
    Object arg2)Perform double parameter substitution before logging the message of level
 WARN according to the format outlined above. | 
| void | warn(String msg,
    Throwable t)Log a message of level WARN, including an exception. | 
| protected void | writeThrowable(Throwable t,
              PrintStream targetStream) | 
debug, debug, debug, debug, debug, error, error, error, error, error, info, info, info, info, info, isDebugEnabled, isErrorEnabled, isInfoEnabled, isTraceEnabled, isWarnEnabled, toString, trace, trace, trace, trace, trace, warn, warn, warn, warn, warnpublic static final String CACHE_OUTPUT_STREAM_STRING_KEY
protected int currentLogLevel
public static final String DATE_TIME_FORMAT_KEY
public static final String DEFAULT_LOG_LEVEL_KEY
public static final String LEVEL_IN_BRACKETS_KEY
public static final String LOG_FILE_KEY
public static final String LOG_KEY_PREFIX
protected static final int LOG_LEVEL_DEBUG
protected static final int LOG_LEVEL_ERROR
protected static final int LOG_LEVEL_INFO
protected static final int LOG_LEVEL_OFF
protected static final int LOG_LEVEL_TRACE
protected static final int LOG_LEVEL_WARN
public static final String SHOW_DATE_TIME_KEY
public static final String SHOW_LOG_NAME_KEY
public static final String SHOW_SHORT_LOG_NAME_KEY
public static final String SHOW_THREAD_NAME_KEY
public static final String SYSTEM_PREFIX
SimpleLogger start with this
 prefixpublic static final String WARN_LEVEL_STRING_KEY
protected String name
public void debug(String msg)
msg - the message string to be loggedpublic void debug(String format, Object... argArray)
format - the format stringargArray - a list of 3 or more argumentspublic void debug(String format, Object param1)
format - the format stringparam1 - the argumentpublic void debug(String format, Object param1, Object param2)
format - the format stringparam1 - the first argumentparam2 - the second argumentpublic void debug(String msg, Throwable t)
msg - the message accompanying the exceptiont - the exception (throwable) to logpublic void error(String msg)
msg - the message string to be loggedpublic void error(String format, Object... argArray)
format - the format stringargArray - a list of 3 or more argumentspublic void error(String format, Object arg)
format - the format stringarg - the argumentpublic void error(String format, Object arg1, Object arg2)
format - the format stringarg1 - the first argumentarg2 - the second argumentpublic void error(String msg, Throwable t)
msg - the message accompanying the exceptiont - the exception (throwable) to logpublic void info(String msg)
msg - the message string to be loggedpublic void info(String format, Object... argArray)
format - the format stringargArray - a list of 3 or more argumentspublic void info(String format, Object arg)
format - the format stringarg - the argumentpublic void info(String format, Object arg1, Object arg2)
format - the format stringarg1 - the first argumentarg2 - the second argumentpublic void info(String msg, Throwable t)
msg - the message accompanying the exceptiont - the exception (throwable) to logpublic boolean isDebugEnabled()
debug messages currently enabled?public boolean isErrorEnabled()
error messages currently enabled?public boolean isInfoEnabled()
info messages currently enabled?protected boolean isLevelEnabled(int logLevel)
logLevel - is this level enabled?public boolean isTraceEnabled()
trace messages currently enabled?public boolean isWarnEnabled()
warn messages currently enabled?public void log(LoggingEvent event)
protected String renderLevel(int level)
public void trace(String msg)
msg - the message string to be loggedpublic void trace(String format, Object... argArray)
format - the format stringargArray - a list of 3 or more argumentspublic void trace(String format, Object param1)
format - the format stringparam1 - the argumentpublic void trace(String format, Object param1, Object param2)
format - the format stringparam1 - the first argumentparam2 - the second argumentpublic void trace(String msg, Throwable t)
msg - the message accompanying the exceptiont - the exception (throwable) to logpublic void warn(String msg)
msg - the message string to be loggedpublic void warn(String format, Object... argArray)
format - the format stringargArray - a list of 3 or more argumentspublic void warn(String format, Object arg)
format - the format stringarg - the argumentpublic void warn(String format, Object arg1, Object arg2)
format - the format stringarg1 - the first argumentarg2 - the second argumentpublic void warn(String msg, Throwable t)
msg - the message accompanying the exceptiont - the exception (throwable) to logprotected void writeThrowable(Throwable t, PrintStream targetStream)
public String getName()
LoggerLogger instance.protected Object readResolve() throws java.io.ObjectStreamException
This approach will work well if the desired ILoggerFactory is the one references by LoggerFactory. However, if the user manages its logger hierarchy through a different (non-static) mechanism, e.g. dependency injection, then this approach would be mostly counterproductive.
java.io.ObjectStreamException