[slf4j-dev] event API in SLF4J
Ceki Gulcu
ceki at qos.ch
Sat Jan 23 16:26:55 UTC 2016
Hi all,
A few months ago, Nathan Green has made a proposal [1] to add Java 8
support to org.slf4j.Logger. His proposal has the remarkable property of
being backward compatible. Other proposals have been made since on the
same subject [2].
The org.slf4j.Logger interface already contains 55+ methods. Nathan's
proposal adds yet new methods. A complete proposal would perhaps double
or triple the number of methods to 100 or even 150.
An alternative is to offer an event API allowing piecemeal construction
of the logging event. Only when the event is fully constructed, is it
offered to a Logger instance.
Usage example
LoggingEvent event = new LoggingEvent();
event.message("hello {}).parameter("world").marker(BLUE).level(DEBUG);
EventLogger logger = someFactory.getLogger();
logger.log(event);
Logback would fully support this interface but the same cannot be said
of other logging frameworks. In that case there is not much use for
introducing the interface in SLF4J instead of directly in logback.
Your comments are welcome.
--
Ceki
[1] http://mailman.qos.ch/pipermail/slf4j-dev/2015-October/004229.html
[2] https://github.com/qos-ch/slf4j/pull/70
More information about the slf4j-dev
mailing list