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 more compatible.

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.


Carsten Ziegeler
Adobe Research Switzerland

Reply via email to