Details
-
Sub-task
-
Status: To Do
-
Major
-
Resolution: Unresolved
-
osgi 0.2.1
Description
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable. log4j:ERROR The class "org.apache.log4j.Appender" was loaded by log4j:ERROR [org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@7486b455[log4j:1.2.17(id=43)]] whereas object of type log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [sun.misc.Launcher$AppClassLoader@677327b6]. log4j:ERROR Could not instantiate appender named "CONSOLE". log4j:WARN No appenders could be found for logger (org.springframework.osgi.extender.internal.boot.ChainActivator). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Probably caused by log4j being initialized both outside OSGi (AppClassLoader) and inside OSGi.
See Log4JConfiguration in incubator-taverna-osgi/taverna-app-configuration-impl - even though it has a static field to detect if it has already been initialized, this would probably be false inside OSGi as the class would appear 'new'.
I believe the launcher is initializing it early so that logging is there before any of the OSGi services are initialized/configured.