That would not work (or it might, but I doubt it), as karaf uses pax-logging which has some modified versions of the log4j classes in order to make them work nicely in OSGi.
On Thu, Oct 21, 2010 at 14:27, Jean-Baptiste Onofré <[email protected]> wrote: > It's linked to the JEE/WAR classloading management. > > By default, Tomcat has a hierarchical classloader: Bootstrap, System, > Common, One Classloader per Webapp, in this order. > > As log4j is already loaded by the Bootstrap classloader, you have a > "collision". > A possible workaround is to remove the Karaf log4j to use the Bootstrap > one. > > Regards > JB > > > On 10/21/2010 01:50 PM, Charles Moulliard wrote: > >> Hi, >> >> When Karaf is deployed as a WAR in Jetty or Tomcat, log4j classes are >> loaded twice and of course Karaf is not able to report trace in >> servicemix.log file. >> >> 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 [4.0] whereas object of type >> log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by >> [contextloa...@servicemix Embedded Example]. >> log4j:ERROR Could not instantiate appender named "A1". >> 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 [4.0] whereas object of type >> log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by >> [contextloa...@servicemix Embedded Example]. >> >> Does anybody has an idea to avoid that ? >> >> Regards, >> >> Charles >> > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ Open Source SOA http://fusesource.com
