public interface Log
WARN
, ERROR
, FATAL
and BUG
are automatically enabled.
For every level there are two writing methods: one accepting an object message and the second with formatted string and
variable number of arguments. Object message is simply converted to string using implementation specific logic. At a minimum,
implementation should use Object.toString()
. Object message is always converted to string even if it is a
Throwable
. For stack trace dump uses dump(Object, Throwable)
.
Anyway, the real workhorse is string formatted variant, that is invoked even if string is not formatted, hence no formatting arguments. This writing variant is well suited for for formatted messages since it actually build the message only if level is enabled.
// StringBuild is auto-created and execute strings merge before invoking debug writer, even if debug level is disabled log.debug("Class loaded " + class.getName()); // formatted string and arguments are processed internally by debug writer only if debug level is enabled log.debug("Class loaded %s.", class.getName());
exception
is converted to string before the actual write operation.
catch(IOException exception) { log.error(exception); }If one wants a throwable stack trace needs to explicitly invoke it using
dump(Object, Throwable)
method.
catch(IOException exception) { log.dump("Fatal error on IO. Stack trace follow:", exception); }
Modifier and Type | Method and Description |
---|---|
void |
bug(boolean expectedCondition,
String message,
Object... args)
Bug message variant with integrated condition test.
|
void |
bug(String message,
Object... args)
Write a message about a condition that is likely to be a bug.
|
void |
debug(Object message)
Write object message to logger if
debug level is enabled. |
void |
debug(String message,
Object... args)
Write formatted message to this logger if
debug level is enabled. |
void |
dump(Object message,
Throwable throwable)
Dump throwable stack trace to this logger using
fatal level. |
void |
error(Object message)
Write object message to logger if
error level is enabled. |
void |
error(String message,
Object... args)
Write formatted message to this logger if
error level is enabled. |
void |
fatal(Object message)
Write object message to logger if
fatal level is enabled. |
void |
fatal(String message,
Object... args)
Write formatted message to this logger if
fatal level is enabled. |
void |
info(Object message)
Write object message to logger if
info level is enabled. |
void |
info(String message,
Object... args)
Write formatted message to this logger if
info level is enabled. |
void |
print(LogLevel level,
String message)
Write message directly to logger with specified logging level.
|
void |
trace(Object message)
Write object message to logger if
trace level is enabled. |
void |
trace(String message,
Object... args)
Write formatted message to this logger if
trace level is enabled. |
void |
warn(Object message)
Write object message to logger if
warn level is enabled. |
void |
warn(String message,
Object... args)
Write formatted message to this logger if
warn level is enabled. |
void trace(Object message)
trace
level is enabled. This method converts object message to string and
write it as a single log record. Note that string conversion is performed even if given object message is a
Throwable
. If one needs throwable stack dump should explicitly use dump(Object, Throwable)
.message
- object message.void trace(String message, Object... args)
trace
level is enabled. This method uses formatted message to
build the string message and write it as a single log record. Note that the actual string building is performed only only
if level is enabled.
Message should be formatted as defined by String.format(String, Object...)
standard method. It is caller
responsibility to ensure the number and type of given argument match formatted message place holders. If message is not
well formed or arguments are invalid log record is silently discarded.
message
- formatted message,args
- optional arguments for formatted message.void debug(Object message)
debug
level is enabled. See trace(Object)
for details.message
- object message.void debug(String message, Object... args)
debug
level is enabled. See trace(String, Object...)
for
details.message
- formatted message,args
- optional arguments for formatted message.void info(Object message)
info
level is enabled. See trace(Object)
for details.message
- object message.void info(String message, Object... args)
info
level is enabled. See trace(String, Object...)
for
details.message
- formatted message,args
- optional arguments for formatted message.void warn(Object message)
warn
level is enabled. See trace(Object)
for details.message
- object message.void warn(String message, Object... args)
warn
level is enabled. See trace(String, Object...)
for
details.message
- formatted message,args
- optional arguments for formatted message.void error(Object message)
error
level is enabled. See trace(Object)
for details.message
- object message.void error(String message, Object... args)
error
level is enabled. See trace(String, Object...)
for
details.message
- formatted message,args
- optional arguments for formatted message.void fatal(Object message)
fatal
level is enabled. See trace(Object)
for details.message
- object message.void fatal(String message, Object... args)
fatal
level is enabled. See trace(String, Object...)
for
details.message
- formatted message,args
- optional arguments for formatted message.void bug(String message, Object... args)
switch(state) { case PLAYING: . . . break; case PAUSED: . . . break; default: log.bug("Player state not handled."); }
Connection connection = connections.remove(listener); if (connection == null) { log.bug("Unbind called without bind."); return; }
message
- formatted message,args
- optional arguments for formatted message.void bug(boolean expectedCondition, String message, Object... args)
expectedCondition
- condition expected to be true,message
- formatted message,args
- optional arguments for formatted message.void dump(Object message, Throwable throwable)
fatal
level. Object message is converted to string and write
before stack trace as a separate log record. This method guarantees atomic operation, that is, no other log record
present between object message and stack dump.
If fatal
level is not enabled this method does nothing.
message
- object message,throwable
- throwable to dump stack trace for.void print(LogLevel level, String message)
level
- requested log level,message
- log message.Copyright © 2018. All rights reserved.