Uploaded image for project: 'logback'
  1. logback
  2. LOGBACK-1076

Logback can't load custom project appender running as a module in WildFly

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 1.1.3
    • logback-core
    • None
    • Wildfly without logmanager. Logback as a module

    Description

      After I replace the wildfly logmanager to logback as a module I've added a custom project appender and it fails as ClassNotFoundException

      logback.xml
      <appender name="EMAIL" class="br.com.tecsinapse.monitoring.logging.SmartSMTPAppender">

      As I've seen OptionHelper instantiate* should also try to instantiate from thread class loader context

      exception:
      03:16:44,495 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [br.com.tecsinapse.monitoring.logging.SmartSMTPAppender]
      03:16:44,495 |-ERROR in ch.qos.logback.core.joran.action.AppenderAction - Could not create an Appender of type [br.com.tecsinapse.monitoring.logging.SmartSMTPAppender]. ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type br.com.tecsinapse.monitoring.logging.SmartSMTPAppender
      at ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type br.com.tecsinapse.monitoring.logging.SmartSMTPAppender
      at at ch.qos.logback.core.util.OptionHelper.instantiateByClassNameAndParameter(OptionHelper.java:73)
      at at ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper.java:48)
      at at ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper.java:35)
      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:275)
      at at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:147)
      at at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:129)
      at at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)
      at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:149)
      at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:135)
      at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:99)
      at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:49)
      at at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:77)
      at at me.janario.logback.deployment.LogbackContextSelector.lambda$getLoggerContext$0(LogbackContextSelector.java:81)
      at at me.janario.logback.deployment.LogbackContextSelector$$Lambda$1/1479140596.apply(Unknown Source)
      at at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1688)
      at at me.janario.logback.deployment.LogbackContextSelector.getLoggerContext(LogbackContextSelector.java:65)
      at at org.slf4j.impl.StaticLoggerBinder.getLoggerFactory(StaticLoggerBinder.java:111)
      at at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:315)
      at at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:277)
      at at org.jboss.logging.Slf4jLoggerProvider.getLogger(Slf4jLoggerProvider.java:29)
      at at org.jboss.logging.Logger.getLogger(Logger.java:2163)
      at at org.jboss.logging.Logger$1.run(Logger.java:2263)
      at at java.security.AccessController.doPrivileged(Native Method)
      at at org.jboss.logging.Logger.getMessageLogger(Logger.java:2227)
      at at org.jboss.logging.Logger.getMessageLogger(Logger.java:2214)
      at at org.hibernate.validator.internal.util.logging.LoggerFactory.make(LoggerFactory.java:29)
      at at org.hibernate.validator.internal.cdi.ValidationExtension.<clinit>(ValidationExtension.java:87)
      at at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
      at at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      at at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
      at at java.lang.Class.newInstance(Class.java:442)
      at at org.jboss.as.weld.deployment.WeldPortableExtensions.tryRegisterExtension(WeldPortableExtensions.java:54)
      at at org.jboss.as.weld.deployment.processors.WeldPortableExtensionProcessor.loadAttachments(WeldPortableExtensionProcessor.java:121)
      at at org.jboss.as.weld.deployment.processors.WeldPortableExtensionProcessor.deploy(WeldPortableExtensionProcessor.java:81)
      at at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159)
      at at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
      at at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
      at at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.ClassNotFoundException: br.com.tecsinapse.monitoring.logging.SmartSMTPAppender from [Module "ch.qos.logback:main" from local module loader @131ef10 (finder: local module finder @55b0dcab (roots: /home/janario/Programs/Java/servers/wildfly/wildfly-8.2.0.Final-tec-log/modules,/home/janario/Programs/Java/servers/wildfly/wildfly-8.2.0.Final-tec-log/modules/system/layers/tecsinapse,/home/janario/Programs/Java/servers/wildfly/wildfly-8.2.0.Final-tec-log/modules/system/layers/logback,/home/janario/Programs/Java/servers/wildfly/wildfly-8.2.0.Final-tec-log/modules/system/layers/base))]
      at at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213)
      at at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)
      at at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)
      at at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)
      at at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)
      at at ch.qos.logback.core.util.OptionHelper.instantiateByClassNameAndParameter(OptionHelper.java:60)
      at ... 41 common frames omitted
      03:16:44,496 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@7:88 - ActionException in Action for tag [appender] ch.qos.logback.core.joran.spi.ActionException: ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type br.com.tecsinapse.monitoring.logging.SmartSMTPAppender
      at ch.qos.logback.core.joran.spi.ActionException: ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type br.com.tecsinapse.monitoring.logging.SmartSMTPAppender
      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:275)
      at at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:147)
      at at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:129)
      at at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)
      at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:149)
      at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:135)
      at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:99)
      at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:49)
      at at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:77)
      at at me.janario.logback.deployment.LogbackContextSelector.lambda$getLoggerContext$0(LogbackContextSelector.java:81)
      at at me.janario.logback.deployment.LogbackContextSelector$$Lambda$1/1479140596.apply(Unknown Source)
      at at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1688)
      at at me.janario.logback.deployment.LogbackContextSelector.getLoggerContext(LogbackContextSelector.java:65)
      at at org.slf4j.impl.StaticLoggerBinder.getLoggerFactory(StaticLoggerBinder.java:111)
      at at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:315)
      at at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:277)
      at at org.jboss.logging.Slf4jLoggerProvider.getLogger(Slf4jLoggerProvider.java:29)
      at at org.jboss.logging.Logger.getLogger(Logger.java:2163)
      at at org.jboss.logging.Logger$1.run(Logger.java:2263)
      at at java.security.AccessController.doPrivileged(Native Method)
      at at org.jboss.logging.Logger.getMessageLogger(Logger.java:2227)
      at at org.jboss.logging.Logger.getMessageLogger(Logger.java:2214)
      at at org.hibernate.validator.internal.util.logging.LoggerFactory.make(LoggerFactory.java:29)
      at at org.hibernate.validator.internal.cdi.ValidationExtension.<clinit>(ValidationExtension.java:87)
      at at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
      at at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      at at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
      at at java.lang.Class.newInstance(Class.java:442)
      at at org.jboss.as.weld.deployment.WeldPortableExtensions.tryRegisterExtension(WeldPortableExtensions.java:54)
      at at org.jboss.as.weld.deployment.processors.WeldPortableExtensionProcessor.loadAttachments(WeldPortableExtensionProcessor.java:121)
      at at org.jboss.as.weld.deployment.processors.WeldPortableExtensionProcessor.deploy(WeldPortableExtensionProcessor.java:81)
      at at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159)
      at at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
      at at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
      at at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at at java.lang.Thread.run(Thread.java:745)
      Caused by: ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type br.com.tecsinapse.monitoring.logging.SmartSMTPAppender
      at at ch.qos.logback.core.util.OptionHelper.instantiateByClassNameAndParameter(OptionHelper.java:73)
      at at ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper.java:48)
      at at ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper.java:35)
      at at ch.qos.logback.core.joran.action.AppenderAction.begin(AppenderAction.java:54)
      at ... 38 common frames omitted
      Caused by: java.lang.ClassNotFoundException: br.com.tecsinapse.monitoring.logging.SmartSMTPAppender from [Module "ch.qos.logback:main" from local module loader @131ef10 (finder: local module finder @55b0dcab (roots: /home/janario/Programs/Java/servers/wildfly/wildfly-8.2.0.Final-tec-log/modules,/home/janario/Programs/Java/servers/wildfly/wildfly-8.2.0.Final-tec-log/modules/system/layers/tecsinapse,/home/janario/Programs/Java/servers/wildfly/wildfly-8.2.0.Final-tec-log/modules/system/layers/logback,/home/janario/Programs/Java/servers/wildfly/wildfly-8.2.0.Final-tec-log/modules/system/layers/base))]
      at at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213)
      at at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)
      at at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)
      at at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)
      at at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)
      at at ch.qos.logback.core.util.OptionHelper.instantiateByClassNameAndParameter(OptionHelper.java:60)
      at ... 41 common frames omitted

      Attachments

        Activity

          People

            logback-dev Logback dev list
            janario Janario Oliveira
            Votes:
            4 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: