Friday, July 18, 2008
There are some improvements since blogging about
Catch-22 Logging with OSGI Frameworks:
Eclipse Riena (M3 here for OSX and here for Windows) has changed the dependency to log4J from Require-Bundle into Import-Package - now you can use any log4j bundle, per ex. log4J from SpringSource Enterprise Bundle Repository (S2).
EasyBeans Version 1.1.0 (Snapshot here) can now work with installations using Commons Logging and also log4J - the stacktrace „ No suitable Log implementation“ doesn't happen anymore.
Now you can use configurations like:
Riena + log4J + S2-commons-logging + EasyBeans + ow2-commons-logging
If you want to use ow2-commons-logging bundle from EasyBeans distribution, then you need also S2-commons-logging, because Jetty (Riena dependency) needs an import with version number, but ow2-commons-logging exports the packages without a version.
Riena + EasyBeans + log4J + S2-commons-logging
Now you can completely remove ow2-commons-logging and only use commons-logging bundle from SpringSource - this bundle works together with EasyBeans 1.1.0 and also Jetty. (I also prefer not to use ow2-commons-logging in this case, because there's a dynamic-import of log4j and its always good to try to use as less dynamic-imports as possible.)
Riena still uses a special log bundle (equinox.log_1.1.0.HEAD) - details see here.
Instead of commons-logging from S2 (SpringSource) you can also use the commons-logging bundle delivered by Eclipse.
Thanks to the teams of Riena and EasyBeans for soon fixing of bugs making the life of an Enterprise OSGI applications developers easier.
the blog in german