Did you have a chance to look at this Achim? If there is a problem with the pax-jetty feature it would be nice to have it fixed in Karaf 4.0.6 which I understand is in the works.
/Bengt 2016-07-07 9:13 GMT+02:00 Bengt Rodehav <be...@rodehav.com>: > OK - thanks Achim, > > /Bengt > > 2016-07-06 22:08 GMT+02:00 Achim Nierbeck <bcanh...@googlemail.com>: > >> Hi Bengt, >> >> I'll try to find out if one of the bundles in that feature depends on >> log4j2 ... but I'm not aware of such a dependency. >> >> Your suspicion about dynamic loading of DLLs is correct in case of the >> location of the dll is inside of a bundle and does have dependencies to >> another dll. If it's a dll loaded via the root classloader that shouldn't >> be of an issue. >> >> regards, Achim >> >> >> 2016-07-04 16:04 GMT+02:00 Bengt Rodehav <be...@rodehav.com>: >> >>> Another theory: Looking at the stack trace this seems to be triggered by >>> a configuration update. Could the problem be that Pax-logging is trying to >>> load the DLL again and failing since it is already loaded? Perhaps the >>> initial load works but subsequent configuration updates does not? >>> >>> I tried to verify this... >>> >>> After successful start of Karaf (after step 9 in my previous post), I >>> edit org.ops4j.pas.logging.cfg (by changing the root logger between INFO >>> and DEBUG). This causes no error. >>> >>> But after having installed feature pax-jetty (after step 10 in my >>> previous post), every change in org.ops4j.pas.logging.cfg causes the same >>> error to appear (the stack trace included in my previous post). >>> >>> It's as if installing the pax-jetty feature takes gives control of >>> org.ops4j.pas.logging.cfg to someone who cannot load the DLL. I have no >>> idea how this could happen. >>> >>> Anyone else has an idea? >>> >>> /Bengt >>> >>> >>> >>> >>> >>> >>> >>> /Bengt >>> >>> 2016-07-04 15:51 GMT+02:00 Bengt Rodehav <be...@rodehav.com>: >>> >>>> A theory: Could one of the bundles installed by feature pax-jetty be >>>> using log4j 2.x directly without using Pax-logging? If so, would it too try >>>> to read the log4j configuration file? I guess it would fail to load the DLL >>>> since it is probably not compatible with log4j 2.x. >>>> >>>> Could this happen? If so, how can I find out which bundle? >>>> >>>> /Bengt >>>> >>>> 2016-07-04 15:15 GMT+02:00 Bengt Rodehav <be...@rodehav.com>: >>>> >>>>> Back to the Karaf mailing list.... >>>>> >>>>> I can actually get this problem on a standard vanilla Karaf 4.0.5. It >>>>> seems to be triggered when installing the feature pax-jetty. >>>>> >>>>> *1. Install standard Karaf 4.0.5* >>>>> >>>>> *2. Replace org.ops4j.pax.logging.cfg with the following:* >>>>> >>>>> log4j.rootLogger=INFO, stdout >>>>> >>>>> # CONSOLE appender >>>>> log4j.appender.stdout=org.apache.log4j.ConsoleAppender >>>>> log4j.appender.stdout.layout=org.apache.log4j.PatternLayout >>>>> log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} | %-5.5p | >>>>> %-16.16t | %-32.32c{1} | %-32.32C %4L | %m%n >>>>> log4j.appender.stdout.threshold=ERROR >>>>> >>>>> # Windows event log >>>>> log4j.appender.nteventlog=org.apache.log4j.nt.NTEventLogAppender >>>>> log4j.appender.nteventlog.source=Test source >>>>> log4j.appender.nteventlog.layout=org.apache.log4j.PatternLayout >>>>> log4j.appender.nteventlog.layout.ConversionPattern=Time: >>>>> %d{ISO8601}%n%nSeverity: %p%n%nThread: %t%n%n%m%n >>>>> log4j.appender.nteventlog.threshold=DEBUG >>>>> >>>>> *3. Start Karaf: "bin\karaf clean"* >>>>> >>>>> This should work. >>>>> >>>>> *4. Exit Karaf* >>>>> >>>>> *5. Change the root looger line to:* >>>>> >>>>> log4j.rootLogger=INFO, stdout, nteventlog >>>>> >>>>> *6. Start Karaf again* >>>>> >>>>> I get the following error: >>>>> >>>>> 2016-07-04 15:05:39,534 | ERROR | s4j.pax.logging) | configadmin >>>>> | ? ? | [org.osgi.service.log.LogService, >>>>> org.knopflerfish.service.log.LogService, >>>>> org.ops4j.pax.logging.PaxLoggingService, >>>>> org.osgi.service.cm.ManagedService, id=12, >>>>> bundle=6/mvn:org.ops4j.pax.logging/pax-logging-service/1.8.5]: Unexpected >>>>> problem updating configuration org.ops4j.pax.logging >>>>> java.lang.UnsatisfiedLinkError: no NTEventLogAppender in >>>>> java.library.path >>>>> at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864) >>>>> at java.lang.Runtime.loadLibrary0(Runtime.java:870) >>>>> at java.lang.System.loadLibrary(System.java:1122) >>>>> at >>>>> org.apache.log4j.nt.NTEventLogAppender.<clinit>(NTEventLogAppender.java:179) >>>>> at >>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) >>>>> at >>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) >>>>> at >>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) >>>>> at >>>>> java.lang.reflect.Constructor.newInstance(Constructor.java:423) >>>>> at java.lang.Class.newInstance(Class.java:442) >>>>> at >>>>> org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:336) >>>>> at >>>>> org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:123) >>>>> at >>>>> org.apache.log4j.PaxLoggingConfigurator.parseAppender(PaxLoggingConfigurator.java:97) >>>>> at >>>>> org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735) >>>>> at >>>>> org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615) >>>>> at >>>>> org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502) >>>>> at >>>>> org.apache.log4j.PaxLoggingConfigurator.doConfigure(PaxLoggingConfigurator.java:72) >>>>> at >>>>> org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl.updated(PaxLoggingServiceImpl.java:214) >>>>> at >>>>> org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl$1ManagedPaxLoggingService.updated(PaxLoggingServiceImpl.java:362) >>>>> at >>>>> org.apache.felix.cm.impl.helper.ManagedServiceTracker.updated(ManagedServiceTracker.java:189) >>>>> at >>>>> org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:152) >>>>> at >>>>> org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:85) >>>>> at >>>>> org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1753) >>>>> at >>>>> org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:143) >>>>> at >>>>> org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:110) >>>>> at java.lang.Thread.run(Thread.java:745) >>>>> >>>>> This makes sense since I haven't provided the DLL yet. >>>>> >>>>> *7. Exit Karaf* >>>>> >>>>> *8. Put the file NTEventLogAppender.amd64.dll in KARAF_HOME/lib (I >>>>> attach the file for 64 bit Windows)* >>>>> >>>>> *9. Start Karaf again* >>>>> >>>>> This works - no error messages. I take this as "proof" that the DLL >>>>> has been successfully loaded. >>>>> >>>>> *10. Install pax-jetty:* >>>>> >>>>> feature:install pax-jetty >>>>> >>>>> I now get the following error: >>>>> >>>>> 2016-07-04 15:11:17,854 | ERROR | 4j.pax.logging]) | configadmin >>>>> | ? ? | [org.osgi.service.log.LogService, >>>>> org.knopflerfish.service.log.LogService, >>>>> org.ops4j.pax.logging.PaxLoggingService, >>>>> org.osgi.service.cm.ManagedService, id=126, >>>>> bundle=6/mvn:org.ops4j.pax.logging/pax-logging-service/1.8.5]: Unexpected >>>>> problem updating configuration org.ops4j.pax.logging >>>>> java.lang.UnsatisfiedLinkError: no NTEventLogAppender in >>>>> java.library.path >>>>> at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864) >>>>> at java.lang.Runtime.loadLibrary0(Runtime.java:870) >>>>> at java.lang.System.loadLibrary(System.java:1122) >>>>> at >>>>> org.apache.log4j.nt.NTEventLogAppender.<clinit>(NTEventLogAppender.java:179) >>>>> at >>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) >>>>> at >>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) >>>>> at >>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) >>>>> at >>>>> java.lang.reflect.Constructor.newInstance(Constructor.java:423) >>>>> at java.lang.Class.newInstance(Class.java:442) >>>>> at >>>>> org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:336) >>>>> at >>>>> org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:123) >>>>> at >>>>> org.apache.log4j.PaxLoggingConfigurator.parseAppender(PaxLoggingConfigurator.java:97) >>>>> at >>>>> org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735) >>>>> at >>>>> org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615) >>>>> at >>>>> org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502) >>>>> at >>>>> org.apache.log4j.PaxLoggingConfigurator.doConfigure(PaxLoggingConfigurator.java:72) >>>>> at >>>>> org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl.updated(PaxLoggingServiceImpl.java:214) >>>>> at >>>>> org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl$1ManagedPaxLoggingService.updated(PaxLoggingServiceImpl.java:362) >>>>> at >>>>> org.apache.felix.cm.impl.helper.ManagedServiceTracker.updated(ManagedServiceTracker.java:189) >>>>> at >>>>> org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:152) >>>>> at >>>>> org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:85) >>>>> at >>>>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.provide(ConfigurationManager.java:1444) >>>>> at >>>>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:1400) >>>>> at >>>>> org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:143) >>>>> at >>>>> org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:110) >>>>> at java.lang.Thread.run(Thread.java:745) >>>>> >>>>> Can anyone understand what is happening? First the DLL is loaded, but >>>>> then when pax-jetty is installed it seems to try to load it again but >>>>> fails. >>>>> >>>>> /Bengt >>>>> >>>>> >>>>> 2016-07-01 9:24 GMT+02:00 Bengt Rodehav <be...@rodehav.com>: >>>>> >>>>>> Turned out not to be so easy to switch version of Pax-logging. >>>>>> >>>>>> I edited startup.properties.I also had to change version of >>>>>> pax-url-aether to 2.3.0. However, it seems like >>>>>> org.apache.karaf.features.core bundle requires a version of >>>>>> pax-url-aehter >>>>>> that is at least 2.4. However, I still think that the results I got >>>>>> indicates that the NTEventLogAppender works with Pax-logging 1.8.1 but >>>>>> not >>>>>> with 1.8.5. >>>>>> >>>>>> Switching to Pax-logging 1.8.1 using Karaf 4.0.5 gives me the >>>>>> following error message if I put the NTEventLogAppender.amd64.dll in the >>>>>> %KARAF_HOME%\lib directory: >>>>>> >>>>>> ERROR: Bundle org.apache.karaf.features.core [9] Error starting >>>>>> mvn:org.apache.karaf.features/org.apache.karaf.features.core/4.0.5 >>>>>> (org.osgi.framework.BundleException: Unable to resolve >>>>>> org.apache.karaf.features.core [9](R 9.0): missing requirement >>>>>> [org.apache.karaf.features.core [9](R 9.0)] osgi.wiring.package; >>>>>> (&(osgi.wiring.package=org.ops4j.pax.url.mvn)(version>=2.4.0)(!(version>=3.0.0))) >>>>>> Unresolved requirements: [[org.apache.karaf.features.core [9](R 9.0)] >>>>>> osgi.wiring.package; >>>>>> (&(osgi.wiring.package=org.ops4j.pax.url.mvn)(version>=2.4.0)(!(version>=3.0.0)))]) >>>>>> org.osgi.framework.BundleException: Unable to resolve >>>>>> org.apache.karaf.features.core [9](R 9.0): missing requirement >>>>>> [org.apache.karaf.features.core [9](R 9.0)] osgi.wiring.package; >>>>>> (&(osgi.wiring.package=org.ops4j.pax.url.mvn)(version>=2.4.0)(!(version>=3.0.0))) >>>>>> Unresolved requirements: [[org.apache.karaf.features.core [9](R 9.0)] >>>>>> osgi.wiring.package; >>>>>> (&(osgi.wiring.package=org.ops4j.pax.url.mvn)(version>=2.4.0)(!(version>=3.0.0)))] >>>>>> at >>>>>> org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4111) >>>>>> at >>>>>> org.apache.felix.framework.Felix.startBundle(Felix.java:2117) >>>>>> at >>>>>> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1371) >>>>>> at >>>>>> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308) >>>>>> at java.lang.Thread.run(Thread.java:745) >>>>>> >>>>>> ..and the following error messages if I do NOT put the >>>>>> NTEventLogAppender.amd64.dll in the %KARAF_HOME%\lib directory: >>>>>> >>>>>> 2016-07-01 09:14:04,105 | ERROR | s4j.pax.logging) | configadmin >>>>>> | ? ? | [org.osgi.service.log.LogService, >>>>>> org.knopflerfish.service.log.LogService, >>>>>> org.ops4j.pax.logging.PaxLoggingService, >>>>>> org.osgi.service.cm.ManagedService, id=12, >>>>>> bundle=6/mvn:org.ops4j.pax.logging/pax-logging-service/1.8.1]: Unexpected >>>>>> problem updating configuration org.ops4j.pax.logging >>>>>> java.lang.UnsatisfiedLinkError: no NTEventLogAppender in >>>>>> java.library.path >>>>>> at >>>>>> java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)[:1.8.0_74] >>>>>> at java.lang.Runtime.loadLibrary0(Runtime.java:870)[:1.8.0_74] >>>>>> at java.lang.System.loadLibrary(System.java:1122)[:1.8.0_74] >>>>>> at >>>>>> org.apache.log4j.nt.NTEventLogAppender.<clinit>(NTEventLogAppender.java:179) >>>>>> at >>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native >>>>>> Method)[:1.8.0_74] >>>>>> at >>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)[:1.8.0_74] >>>>>> at >>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.8.0_74] >>>>>> at >>>>>> java.lang.reflect.Constructor.newInstance(Constructor.java:423)[:1.8.0_74] >>>>>> at java.lang.Class.newInstance(Class.java:442)[:1.8.0_74] >>>>>> at >>>>>> org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:336)[6:org.ops4j.pax.logging.pax-logging-service:1.8.1] >>>>>> at >>>>>> org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:123)[6:org.ops4j.pax.logging.pax-logging-service:1.8.1] >>>>>> at >>>>>> org.apache.log4j.PaxLoggingConfigurator.parseAppender(PaxLoggingConfigurator.java:97)[6:org.ops4j.pax.logging.pax-logging-service:1.8.1] >>>>>> at >>>>>> org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)[6:org.ops4j.pax.logging.pax-logging-service:1.8.1] >>>>>> at >>>>>> org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:639)[6:org.ops4j.pax.logging.pax-logging-service:1.8.1] >>>>>> at >>>>>> org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:504)[6:org.ops4j.pax.logging.pax-logging-service:1.8.1] >>>>>> at >>>>>> org.apache.log4j.PaxLoggingConfigurator.doConfigure(PaxLoggingConfigurator.java:72)[6:org.ops4j.pax.logging.pax-logging-service:1.8.1] >>>>>> at >>>>>> org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl.updated(PaxLoggingServiceImpl.java:214)[6:org.ops4j.pax.logging.pax-logging-service:1.8.1] >>>>>> at >>>>>> org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl$1ManagedPaxLoggingService.updated(PaxLoggingServiceImpl.java:362)[6:org.ops4j.pax.logging.pax-logging-service:1.8.1] >>>>>> at >>>>>> org.apache.felix.cm.impl.helper.ManagedServiceTracker.updated(ManagedServiceTracker.java:189)[7:org.apache.felix.configadmin:1.8.8] >>>>>> at >>>>>> org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:152)[7:org.apache.felix.configadmin:1.8.8] >>>>>> at >>>>>> org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:85)[7:org.apache.felix.configadmin:1.8.8] >>>>>> at >>>>>> org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1753)[7:org.apache.felix.configadmin:1.8.8] >>>>>> at >>>>>> org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:143)[7:org.apache.felix.configadmin:1.8.8] >>>>>> at >>>>>> org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:110)[7:org.apache.felix.configadmin:1.8.8] >>>>>> at java.lang.Thread.run(Thread.java:745)[:1.8.0_74] >>>>>> ERROR: Bundle org.apache.karaf.features.core [9] Error starting >>>>>> mvn:org.apache.karaf.features/org.apache.karaf.features.core/4.0.5 >>>>>> (org.osgi.framework.BundleException: Unable to resolve >>>>>> org.apache.karaf.features.core [9](R 9.0): missing requirement >>>>>> [org.apache.karaf.features.core [9](R 9.0)] osgi.wiring.package; >>>>>> (&(osgi.wiring.package=org.ops4j.pax.url.mvn)(version>=2.4.0)(!(version>=3.0.0))) >>>>>> Unresolved requirements: [[org.apache.karaf.features.core [9](R 9.0)] >>>>>> osgi.wiring.package; >>>>>> (&(osgi.wiring.package=org.ops4j.pax.url.mvn)(version>=2.4.0)(!(version>=3.0.0)))])org.osgi.framework.BundleException: >>>>>> Unable to resolve org.apache.karaf.features.core [9](R 9.0): missing >>>>>> requirement [org.apache.karaf.features.core [9](R 9.0)] >>>>>> osgi.wiring.package; >>>>>> (&(osgi.wiring.package=org.ops4j.pax.url.mvn)(version>=2.4.0)(!(version>=3.0.0))) >>>>>> Unresolved requirements: [[org.apache.karaf.features.core [9](R 9.0)] >>>>>> osgi.wiring.package; >>>>>> (&(osgi.wiring.package=org.ops4j.pax.url.mvn)(version>=2.4.0)(!(version>=3.0.0)))] >>>>>> at >>>>>> org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4111) >>>>>> at >>>>>> org.apache.felix.framework.Felix.startBundle(Felix.java:2117) >>>>>> at >>>>>> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1371) >>>>>> at >>>>>> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308) >>>>>> at java.lang.Thread.run(Thread.java:745) >>>>>> >>>>>> So, the DLL seems to be loaded and Pax-logging seems to work using >>>>>> Pax-logging 1.8.1 but not using Pax-logging 1.8.5. >>>>>> >>>>>> I will re-post this conversation to the OOPS4J mailing list. >>>>>> >>>>>> /Bengt >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> 2016-07-01 8:55 GMT+02:00 Bengt Rodehav <be...@rodehav.com>: >>>>>> >>>>>>> OK - I guess I misunderstood this then. >>>>>>> >>>>>>> Looking in the POM's I now see that there are dependencies to both >>>>>>> log4j 1.2.16 and log4j 2.x. >>>>>>> >>>>>>> I wonder then why the NTEventLogAppender can't be used in Karaf >>>>>>> 4.0.5. For a while I thought it might be a java version problem. I now >>>>>>> use >>>>>>> Java 8 instead of Java 7 like I did before. But even if I run Karaf >>>>>>> 4.0.5 >>>>>>> using Java 7 I still get the same problem. >>>>>>> >>>>>>> I will try to use Karaf 4.0.5 with Pax-logging 1.8.1 to see if it >>>>>>> makes any difference. What is the best way to accomplish that? >>>>>>> >>>>>>> /Bengt >>>>>>> >>>>>>> 2016-06-30 16:54 GMT+02:00 Achim Nierbeck <bcanh...@googlemail.com>: >>>>>>> >>>>>>>> Hi Bengt, >>>>>>>> >>>>>>>> newer versions of Pax-Logging don't use log4j2 per default so this >>>>>>>> should still work ... >>>>>>>> the underlying impl is still log4j 1 unless someone changed it on a >>>>>>>> minor version update ... >>>>>>>> >>>>>>>> regards, Achim >>>>>>>> >>>>>>>> >>>>>>>> 2016-06-30 16:23 GMT+02:00 Bengt Rodehav <be...@rodehav.com>: >>>>>>>> >>>>>>>>> Thanks JB, >>>>>>>>> >>>>>>>>> Tried it though and no diffference. >>>>>>>>> >>>>>>>>> When investigating this it seems like newer versions of >>>>>>>>> pax-logging uses log4j2. Unfortunately the NTEventLogAppender is >>>>>>>>> incompatible with log4j2. >>>>>>>>> >>>>>>>>> I've found the project log4jna that seems to target this. >>>>>>>>> Unfortunately I cannot find a released version that supports log4j2. >>>>>>>>> >>>>>>>>> Anyone else encountered this? >>>>>>>>> >>>>>>>>> /Bengt >>>>>>>>> >>>>>>>>> 2016-06-30 14:48 GMT+02:00 Jean-Baptiste Onofré <j...@nanthrax.net>: >>>>>>>>> >>>>>>>>>> In Karaf 4, the dll should go in lib/ext. >>>>>>>>>> >>>>>>>>>> Regards >>>>>>>>>> JB >>>>>>>>>> >>>>>>>>>> On 06/30/2016 02:16 PM, Bengt Rodehav wrote: >>>>>>>>>> >>>>>>>>>>> I have a feeling that I need to put the >>>>>>>>>>> NTEventLogAppender.amd4.dll in >>>>>>>>>>> another directory in Karaf 4.0.5 then in Karaf 2.4.1. >>>>>>>>>>> >>>>>>>>>>> I have always put it in the directory %KARAF_HOME%/lib which >>>>>>>>>>> works for >>>>>>>>>>> Karaf 2.4.1. Where should DLL's be put in Karaf 4.0.5? >>>>>>>>>>> >>>>>>>>>>> /Bengt >>>>>>>>>>> >>>>>>>>>>> 2016-06-29 17:37 GMT+02:00 Bengt Rodehav <be...@rodehav.com >>>>>>>>>>> <mailto:be...@rodehav.com>>: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I'm trying to upgrade from Karaf 2..1 to 4.0.5 and I run into >>>>>>>>>>> problems regarding NTEventLogAppender. I get the following >>>>>>>>>>> on startup: >>>>>>>>>>> >>>>>>>>>>> 2016-06-29 17:16:05,354 | ERROR | 4j.pax.logging]) | >>>>>>>>>>> configadmin >>>>>>>>>>> | ? >>>>>>>>>>> ? | [org.osgi.service.log.LogService, >>>>>>>>>>> org.knopflerfish.service.log.LogService, >>>>>>>>>>> org.ops4j.pax.logging.PaxLoggingService, >>>>>>>>>>> org.osgi.service.cm.ManagedService, id=34, >>>>>>>>>>> >>>>>>>>>>> bundle=6/mvn:org.ops4j.pax.logging/pax-logging-service/1.8.5]: >>>>>>>>>>> Unexpected problem updating configuration >>>>>>>>>>> org.ops4j.pax.logging >>>>>>>>>>> java.lang.UnsatisfiedLinkError: no NTEventLogAppender in >>>>>>>>>>> java.library.path >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)[:1.8.0_74] >>>>>>>>>>> at >>>>>>>>>>> java.lang.Runtime.loadLibrary0(Runtime.java:870)[:1.8.0_74] >>>>>>>>>>> at >>>>>>>>>>> java.lang.System.loadLibrary(System.java:1122)[:1.8.0_74] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.apache.log4j.nt.NTEventLogAppender.<clinit>(NTEventLogAppender.java:179) >>>>>>>>>>> at >>>>>>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native >>>>>>>>>>> Method)[:1.8.0_74] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)[:1.8.0_74] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.8.0_74] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> java.lang.reflect.Constructor.newInstance(Constructor.java:423)[:1.8.0_74] >>>>>>>>>>> at >>>>>>>>>>> java.lang.Class.newInstance(Class.java:442)[:1.8.0_74] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:336)[6:org.ops4j.pax.logging.pax-logging-service:1.8.5] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:123)[6:org.ops4j.pax.logging.pax-logging-service:1.8.5] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.apache.log4j.PaxLoggingConfigurator.parseAppender(PaxLoggingConfigurator.java:97)[6:org.ops4j.pax.logging.pax-logging-service:1.8.5] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)[6:org.ops4j.pax.logging.pax-logging-service:1.8.5] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:639)[6:org.ops4j.pax.logging.pax-logging-service:1.8.5] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:504)[6:org.ops4j.pax.logging.pax-logging-service:1.8.5] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.apache.log4j.PaxLoggingConfigurator.doConfigure(PaxLoggingConfigurator.java:72)[6:org.ops4j.pax.logging.pax-logging-service:1.8.5] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl.updated(PaxLoggingServiceImpl.java:214)[6:org.ops4j.pax.logging.pax-logging-service:1.8.5] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl$1ManagedPaxLoggingService.updated(PaxLoggingServiceImpl.java:362)[6:org.ops4j.pax.logging.pax-logging-service:1.8.5] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.apache.felix.cm.impl.helper.ManagedServiceTracker.updated(ManagedServiceTracker.java:189)[7:org.apache.felix.configadmin:1.8.8] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:152)[7:org.apache.felix.configadmin:1.8.8] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:85)[7:org.apache.felix.configadmin:1.8.8] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.provide(ConfigurationManager.java:1444)[7:org.apache.felix.configadmin:1.8.8] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:1400)[7:org.apache.felix.configadmin:1.8.8] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:143)[7:org.apache.felix.configadmin:1.8.8] >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:110)[7:org.apache.felix.configadmin:1.8.8] >>>>>>>>>>> at java.lang.Thread.run(Thread.java:745)[:1.8.0_74] >>>>>>>>>>> >>>>>>>>>>> Like I did on Karaf 2.4.1, I have put the >>>>>>>>>>> file NTEventLogAppender.amd64.dll in the "lib" directory >>>>>>>>>>> under >>>>>>>>>>> Karaf. It has the version 1.2.16.1. >>>>>>>>>>> >>>>>>>>>>> Does anyone know how to get the NTEventLogAppender to work >>>>>>>>>>> with >>>>>>>>>>> Karaf 4.0.5? >>>>>>>>>>> >>>>>>>>>>> /Bengt >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Jean-Baptiste Onofré >>>>>>>>>> jbono...@apache.org >>>>>>>>>> http://blog.nanthrax.net >>>>>>>>>> Talend - http://www.talend.com >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> Apache Member >>>>>>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC >>>>>>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> >>>>>>>> Committer & Project Lead >>>>>>>> blog <http://notizblog.nierbeck.de/> >>>>>>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> >>>>>>>> >>>>>>>> Software Architect / Project Manager / Scrum Master >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >> >> -- >> >> Apache Member >> Apache Karaf <http://karaf.apache.org/> Committer & PMC >> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer >> & Project Lead >> blog <http://notizblog.nierbeck.de/> >> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> >> >> Software Architect / Project Manager / Scrum Master >> >> >