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.defaultLogLevel
- Default log level
for all instances of SimpleLogger. Must be one of ("trace", "debug", "info",
"warn", or "error"). 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", or "error". 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 false
org.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.