the OSGi R7 specification has an update to the Log Service which we
should support in some way in Sling.
Today, we have our own LogService implementation
(org.apache.sling.commons.logservice). One way to implement R7 could be
to simply update our implementation. However logging is not our core
business, so I think it makes more sense to use an existing implementation.
Fortunately, the Apache Felix project has an R7 LogService
implementation. So we could replace our own implementation with that.
Unfortunately, that's not a simple replacement as our commons.logservice
is also implementing slf4j support by logging every received log event
to slf4j. On the other hand we have slf4j support in our
org.apache.sling.commons.log bundle (it's easy to confuse these two
bundles we have). So we could move the slf4j support to that bundle as
well and have everything in a single place.
Or we could remove our own logservice implementation from the logservice
bundle and just keep the slf4j support there. That would be a little bit
Just for completeness, the R7 log service specification also introduces
streaming support for logging. The Apache Felix implementation does not
support this. But as the streaming support is additional we can use the
Eclipse log stream implementation on top of Felix implementation if we
want to support that, too.
Adobe Research Switzerland