Hi Bengt, sorry been very busy lately. I did give it a try but couldn't find a reason why Log4j2 should be used or Pax Logging should be triggered to be restarted. There isn't any reason for the pax web bundles to do so ... :/ sorry didn't get any further on this ..
regards, Achim 2016-07-11 14:47 GMT+02:00 Bengt Rodehav <[email protected]>: > 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 <[email protected]>: > >> OK - thanks Achim, >> >> /Bengt >> >> 2016-07-06 22:08 GMT+02:00 Achim Nierbeck <[email protected]>: >> >>> 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 <[email protected]>: >>> >>>> 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 <[email protected]>: >>>> >>>>> 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 <[email protected]>: >>>>> >>>>>> 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 <[email protected]>: >>>>>> >>>>>>> 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 <[email protected]>: >>>>>>> >>>>>>>> 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 <[email protected]> >>>>>>>> : >>>>>>>> >>>>>>>>> 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 <[email protected]>: >>>>>>>>> >>>>>>>>>> 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é <[email protected]> >>>>>>>>>> : >>>>>>>>>> >>>>>>>>>>> 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 <[email protected] >>>>>>>>>>>> <mailto:[email protected]>>: >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> 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é >>>>>>>>>>> [email protected] >>>>>>>>>>> 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 >>> >>> >> > -- 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
