[slf4j-dev] Logger.debug(String, Object[])?
Curt Arnold
carnold at houston.rr.com
Thu Aug 4 08:20:15 CEST 2005
Been reading the varargs stuff in JDK 1.5 and it seems like it might
be desirable to add methods that take an Object[] parameter in
addition to the existing Logger.debug(String, Object) methods. For
example:
interface Logger {
void debug(String format, Object param1); //existing method
void debug(String format, Object[] params);
}
The second form would be like a
void debug(String format, Object... params)
Obviously there would be a construction cost in constructing the
array unless you happened to happened to have it around. However, if
you were willing to take the hit, it would open up all sorts of
combinations of parameters.
The implementation would be something like:
void debug(String format, Object param1) {
if (isDebugEnabled()) {
String msg = MessageFormat.format(new Object[] { param1 });
logger.finer(msg);
}
}
void debug(String format, Object[] params) {
if (isDebugEnabled()) {
String msg = MessageFormat.format(params);
logger.finer(msg);
}
}
This way, you could do:
logger.debug("This first five letters of the latin alphabet are {},
{}, {}, {}, {}.", new Object[] {"A", "B", "C", "D", "E" });
More information about the slf4j-dev
mailing list