
Hi, here is the rest of the stack trace: 14:14:04,991 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [foo.RCPAppender] 14:14:04,992 |-ERROR in ch.qos.logback.core.joran.action.AppenderAction - Could not create an Appender of type [foo.RCPAppender]. ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type foo.RCPAppender at ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type foo.RCPAppender at at ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper. java:54) at at ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper. java:32) at at ch.qos.logback.core.joran.action.AppenderAction.begin(AppenderAction.java: 54) at at ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java :276) at at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:14 8) at at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:13 0) at at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigura tor.java:147) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigura tor.java:133) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigura tor.java:96) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigura tor.java:55) at at ch.qos.logback.classic.util.ContextInitializer.configureByResource(Context Initializer.java:75) at at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializ er.java:148) at at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84) at at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:54) at at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128) at at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108) at at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:279) at at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:252) at at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:265) at at foo.MyPlugin.<init>(DvtGuardPlugin.java:19) at at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcc essorImpl.java:39) at at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstr uctorAccessorImpl.java:27) at at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at at java.lang.Class.newInstance0(Class.java:355) at at java.lang.Class.newInstance(Class.java:308) at at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivato r(AbstractBundle.java:151) at at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleCon textImpl.java:751) at at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost .java:370) at at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBund le.java:284) at at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:417) at at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader. java:265) at at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocal Class(EclipseLazyStarter.java:106) at at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(Classp athManager.java:453) at at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(De faultClassLoader.java:216) at at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader. java:393) at at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoad er.java:469) at at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java: 422) at at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java: 410) at at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(Default ClassLoader.java:107) at at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java: 338) at at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.j ava:232) at at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(Abstract Bundle.java:1197) at at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecuta bleExtension(RegistryStrategyOSGI.java:174) at at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExten sion(ExtensionRegistry.java:904) at at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableEx tension(ConfigurationElement.java:243) at at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecut ableExtension(ConfigurationElementHandle.java:55) at at org.eclipse.core.internal.expressions.PropertyTesterDescriptor.instantiate (PropertyTesterDescriptor.java:92) at at org.eclipse.core.internal.expressions.TypeExtension.findTypeExtender(TypeE xtension.java:91) at at org.eclipse.core.internal.expressions.TypeExtension.findTypeExtender(TypeE xtension.java:124) at at org.eclipse.core.internal.expressions.TypeExtension.findTypeExtender(TypeE xtension.java:124) at at org.eclipse.core.internal.expressions.TypeExtension.findTypeExtender(TypeE xtension.java:124) at at org.eclipse.core.internal.expressions.TypeExtensionManager.getProperty(Typ eExtensionManager.java:114) at at org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpressi on.java:96) at at org.eclipse.ui.internal.services.EvaluationResultCache.evaluate(Evaluation ResultCache.java:74) at at org.eclipse.ui.internal.services.ExpressionAuthority.evaluate(ExpressionAu thority.java:165) at at org.eclipse.ui.internal.services.EvaluationAuthority.addEvaluationListener (EvaluationAuthority.java:79) at at org.eclipse.ui.internal.services.EvaluationService.addEvaluationListener(E valuationService.java:47) at at org.eclipse.ui.internal.activities.MutableActivityManager.updateActivity(M utableActivityManager.java:736) at at org.eclipse.ui.internal.activities.MutableActivityManager.getActivity(Muta bleActivityManager.java:153) at at org.eclipse.ui.internal.activities.ProxyActivityManager.getActivity(ProxyA ctivityManager.java:56) at at org.eclipse.ui.internal.ActivityPersistanceHelper.loadEnabledStates(Activi tyPersistanceHelper.java:236) at at org.eclipse.ui.internal.ActivityPersistanceHelper.loadEnabledStates(Activi tyPersistanceHelper.java:206) at at org.eclipse.ui.internal.ActivityPersistanceHelper.<init>(ActivityPersistan ceHelper.java:154) at at org.eclipse.ui.internal.ActivityPersistanceHelper.getInstance(ActivityPers istanceHelper.java:122) at at org.eclipse.ui.internal.Workbench.init(Workbench.java:1510) at at org.eclipse.ui.internal.Workbench.access$34(Workbench.java:1472) at at org.eclipse.ui.internal.Workbench$62.run(Workbench.java:2536) Caused by: java.lang.ClassNotFoundException: foo.RCPAppender at at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoad er.java:506) at at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java: 422) at at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java: 410) at at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(Default ClassLoader.java:107) at at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at at ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper. java:46) at ... 69 common frames omitted 14:14:04,992 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@18:72 - ActionException in Action for tag [appender] ch.qos.logback.core.joran.spi.ActionException: ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type foo.RCPAppender at ch.qos.logback.core.joran.spi.ActionException: ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type foo.RCPAppender at at ch.qos.logback.core.joran.action.AppenderAction.begin(AppenderAction.java: 82) at at ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java :276) at at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:14 8) at at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:13 0) at at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigura tor.java:147) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigura tor.java:133) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigura tor.java:96) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigura tor.java:55) at at ch.qos.logback.classic.util.ContextInitializer.configureByResource(Context Initializer.java:75) at at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializ er.java:148) at at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84) at at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:54) at at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128) at at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108) at at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:279) at at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:252) at at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:265) at at foo.MyPlugin.<init>(DvtGuardPlugin.java:19) at at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcc essorImpl.java:39) at at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstr uctorAccessorImpl.java:27) at at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at at java.lang.Class.newInstance0(Class.java:355) at at java.lang.Class.newInstance(Class.java:308) at at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivato r(AbstractBundle.java:151) at at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleCon textImpl.java:751) at at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost .java:370) at at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBund le.java:284) at at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:417) at at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader. java:265) at at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocal Class(EclipseLazyStarter.java:106) at at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(Classp athManager.java:453) at at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(De faultClassLoader.java:216) at at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader. java:393) at at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoad er.java:469) at at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java: 422) at at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java: 410) at at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(Default ClassLoader.java:107) at at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java: 338) at at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.j ava:232) at at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(Abstract Bundle.java:1197) at at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecuta bleExtension(RegistryStrategyOSGI.java:174) at at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExten sion(ExtensionRegistry.java:904) at at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableEx tension(ConfigurationElement.java:243) at at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecut ableExtension(ConfigurationElementHandle.java:55) at at org.eclipse.core.internal.expressions.PropertyTesterDescriptor.instantiate (PropertyTesterDescriptor.java:92) at at org.eclipse.core.internal.expressions.TypeExtension.findTypeExtender(TypeE xtension.java:91) at at org.eclipse.core.internal.expressions.TypeExtension.findTypeExtender(TypeE xtension.java:124) at at org.eclipse.core.internal.expressions.TypeExtension.findTypeExtender(TypeE xtension.java:124) at at org.eclipse.core.internal.expressions.TypeExtension.findTypeExtender(TypeE xtension.java:124) at at org.eclipse.core.internal.expressions.TypeExtensionManager.getProperty(Typ eExtensionManager.java:114) at at org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpressi on.java:96) at at org.eclipse.ui.internal.services.EvaluationResultCache.evaluate(Evaluation ResultCache.java:74) at at org.eclipse.ui.internal.services.ExpressionAuthority.evaluate(ExpressionAu thority.java:165) at at org.eclipse.ui.internal.services.EvaluationAuthority.addEvaluationListener (EvaluationAuthority.java:79) at at org.eclipse.ui.internal.services.EvaluationService.addEvaluationListener(E valuationService.java:47) at at org.eclipse.ui.internal.activities.MutableActivityManager.updateActivity(M utableActivityManager.java:736) at at org.eclipse.ui.internal.activities.MutableActivityManager.getActivity(Muta bleActivityManager.java:153) at at org.eclipse.ui.internal.activities.ProxyActivityManager.getActivity(ProxyA ctivityManager.java:56) at at org.eclipse.ui.internal.ActivityPersistanceHelper.loadEnabledStates(Activi tyPersistanceHelper.java:236) at at org.eclipse.ui.internal.ActivityPersistanceHelper.loadEnabledStates(Activi tyPersistanceHelper.java:206) at at org.eclipse.ui.internal.ActivityPersistanceHelper.<init>(ActivityPersistan ceHelper.java:154) at at org.eclipse.ui.internal.ActivityPersistanceHelper.getInstance(ActivityPers istanceHelper.java:122) at at org.eclipse.ui.internal.Workbench.init(Workbench.java:1510) at at org.eclipse.ui.internal.Workbench.access$34(Workbench.java:1472) at at org.eclipse.ui.internal.Workbench$62.run(Workbench.java:2536) Caused by: ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type foo.RCPAppender at at ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper. java:54) at at ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper. java:32) at at ch.qos.logback.core.joran.action.AppenderAction.begin(AppenderAction.java: 54) at ... 67 common frames omitted Caused by: java.lang.ClassNotFoundException: foo.RCPAppender at at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoad er.java:506) at at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java: 422) at at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java: 410) at at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(Default ClassLoader.java:107) at at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at at ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper. java:46) at ... 69 common frames omitted No I don't know how to fix it. I was hoping that I wasn't the first person in the world to write an appender for an Ecipse plug-in and that someone might have worked it out already :) BR David -----Original Message----- From: logback-user-bounces@qos.ch [mailto:logback-user-bounces@qos.ch] On Behalf Of ceki Sent: den 24 maj 2012 14:43 To: logback users list Subject: Re: [logback-user] RCP Anyway, even without the stack trace, we can assume that your custom appender will be instantiated by calling the instantiateByClassName(String, Class, Context) method in OptionHelper (line 36). This method assumes that you want to use the class loader which loaded the current logback context to be used. (This is usually the same class loader that loaded all other logback classes as well.) Thus, you have to make sure that the said class loader can load foo.RCPAppender. Can you do that? -- Ceki http://twitter.com/#!/ceki On 24.05.2012 14:20, David Virdefors wrote:
Hi,
It seems like there is no built in support for logging from within an Eclipse RCP plug-in. So I wrote my own appender and pointed to it from my logback.xml
14:14:04,992 |-ERROR in ch.qos.logback.core.joran.action.AppenderAction - Could not create an Appender of type [foo.RCPAppender]. ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type se.ericsson.baseband.logging.RCPAppender
at ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type foo.RCPAppender
I've seen other people who have trouble with this when using ecilpse plug-ins and bundles due to different class loaders. I have however not found any proper solution to this.
How would I make logback find my appender?
BR David
*From:*logback-user-bounces@qos.ch [mailto:logback-user-bounces@qos.ch] *On Behalf Of *David Virdefors *Sent:* den 24 maj 2012 11:41 *To:* logback-user@qos.ch *Subject:* [logback-user] RCP
Hi,
I'm developing Eclipse RCP plug-ins. Is it possible to make logback log to the existnig workspace log, so that the logs show up in the "Error Log" view in the GUI?
BR David
_______________________________________________ Logback-user mailing list Logback-user@qos.ch http://mailman.qos.ch/mailman/listinfo/logback-user