Thanks for the update. I will update in pax logging. Regards JB
-- Jean-Baptiste Onofré [email protected] http://blog.nanthrax.net Talend - http://wwx.talend.com ----- Reply message ----- From: "Bengt Rodehav" <[email protected]> To: <[email protected]> Subject: Karaf 2.2.8, Pax-Logging 1.6.7 and NTEventLogAppender Date: Thu, Jun 28, 2012 4:26 pm It turns out that in the latest vesion of log4j (1.2.17), two DLL's were included: - NTEventLogAppender.dll- NTEventLogAppender.amd64.dll If I put both of them in Karaf's lib folder it seems to work in both Windows XP and Windows 7. I haven't seen any documentation regarding this but I'll try this for now. /Bengt 2012/6/28 Bengt Rodehav <[email protected]> Just verified that our previous custom Karaf distribution (which is based on Karaf 2.2.5) has the same problem on Windows 7. This is then clearly not an issue with Karaf 2.2.8. Still worth solving though... /Bengt 2012/6/28 Jean-Baptiste Onofré <[email protected]> Good point Bengt, you are certainly right. Regards JB On 06/28/2012 01:20 PM, Bengt Rodehav wrote: Hello JB, Just struck me that I'v recently changed to a computer running Windows 7 (used to run on Windows XP). When I install Karaf on Windows XP it works but when I install the same distribution on Windows 7 it doesn't work. My guess is that is has to do with the NTEventLogAppender.dll. Either it does not support Windows 7 or it has to be located somewhere else than in Karaf's lib folder. I would guess that if the loading of NTEventLogAppender.dll fails then the loading of the class org.apache.log4j.nt.__NTEventLogAppender will also fail - thus the NoClassDefFoundError. /Bengt 2012/6/28 Jean-Baptiste Onofré <[email protected] <mailto:[email protected]>> Hi Bengt, It looks weird, but sounds like classloading change issue. I gonna try to reproduce and keep you posted. Regards JB On 06/28/2012 11:22 AM, Bengt Rodehav wrote: I'm currently updating our applications from using Karaf 2.2.5 to Karaf 2.2.8 and have problems initializing the log system. I use NTEventLogAppender in my org.ops4j.pax.logging.cfg, like this: /log4j.appender.nteventlog=__org.apache.log4j.nt.__NTEventLogAppender/ /log4j.appender.nteventlog.__source=${nteventlog.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/ It used to work fine but now I get this: /2012-06-28 10:12:36,259 | ERROR | s4j.pax.logging) | configadmin | ? ? | Unexpected problem executing task/ /java.lang.__NoClassDefFoundError: Could not initialize class org.apache.log4j.nt.__NTEventLogAppender/ /at java.lang.Class.forName0(__Native Method)[:1.6.0_32]/ /at java.lang.Class.forName(Class.__java:169)[:1.6.0_32]/ /at org.apache.log4j.__OsgiThrowableRenderer.__findClass(__OsgiThrowableRenderer.java:__224)[3:org.ops4j.pax.logging.__pax-logging-service:1.6.7]/ /at org.apache.log4j.__OsgiThrowableRenderer.__formatElement(__OsgiThrowableRenderer.java:__134)[3:org.ops4j.pax.logging.__pax-logging-service:1.6.7]/ /at org.apache.log4j.__OsgiThrowableRenderer.__doRender(__OsgiThrowableRenderer.java:__105)[3:org.ops4j.pax.logging.__pax-logging-service:1.6.7]/ /at org.apache.log4j.__OsgiThrowableRenderer.__doRender(__OsgiThrowableRenderer.java:52)__[3:org.ops4j.pax.logging.pax-__logging-service:1.6.7]/ /at org.apache.log4j.spi.__ThrowableInformation.__getThrowableStrRep(__ThrowableInformation.java:89)[__3:org.ops4j.pax.logging.pax-__logging-service:1.6.7]/ /at org.apache.log4j.spi.__LoggingEvent.__getThrowableStrRep(__LoggingEvent.java:413)[3:org.__ops4j.pax.logging.pax-logging-__service:1.6.7]/ /at org.apache.log4j.__WriterAppender.subAppend(__WriterAppender.java:313)[3:__org.ops4j.pax.logging.pax-__logging-service:1.6.7]/ /at org.apache.log4j.__WriterAppender.append(__WriterAppender.java:162)[3:__org.ops4j.pax.logging.pax-__logging-service:1.6.7]/ /at org.apache.log4j.__AppenderSkeleton.doAppend(__AppenderSkeleton.java:251)[3:__org.ops4j.pax.logging.pax-__logging-service:1.6.7]/ /at org.apache.log4j.helpers.__AppenderAttachableImpl.__appendLoopOnAppenders(__AppenderAttachableImpl.java:__66)[3:org.ops4j.pax.logging.__pax-logging-service:1.6.7]/ /at org.apache.log4j.Category.__callAppenders(Category.java:__193)[3:org.ops4j.pax.logging.__pax-logging-service:1.6.7]/ /at org.apache.log4j.Category.__forcedLog(Category.java:365)[__3:org.ops4j.pax.logging.pax-__logging-service:1.6.7]/ /at org.apache.log4j.Category.log(__Category.java:772)[3:org.__ops4j.pax.logging.pax-logging-__service:1.6.7]/ /at org.ops4j.pax.logging.service.__internal.PaxLoggerImpl.error(__PaxLoggerImpl.java:159)[3:org.__ops4j.pax.logging.pax-logging-__service:1.6.7]/ /at org.ops4j.pax.logging.service.__internal.__PaxLoggingServiceImpl.log(__PaxLoggingServiceImpl.java:__148)[3:org.ops4j.pax.logging.__pax-logging-service:1.6.7]/ /at org.ops4j.pax.logging.service.__internal.__PaxLoggingServiceImpl.access$__000(PaxLoggingServiceImpl.__java:45)[3:org.ops4j.pax.__logging.pax-logging-service:1.__6.7]/ /at org.ops4j.pax.logging.service.__internal.__PaxLoggingServiceImpl$__1ManagedPaxLoggingService.log(__PaxLoggingServiceImpl.java:__322)[3:org.ops4j.pax.logging.__pax-logging-service:1.6.7]/ /at org.apache.felix.cm.impl.__ConfigurationManager.log(__ConfigurationManager.java:915)__[5:org.apache.felix.__configadmin:1.2.8]/ /at org.apache.felix.cm.impl.__ConfigurationManager.__handleCallBackError(__ConfigurationManager.java:__1028)[5:org.apache.felix.__configadmin:1.2.8]/ /at org.apache.felix.cm.impl.__ConfigurationManager$__UpdateConfiguration.run(__ConfigurationManager.java:__1495)[5:org.apache.felix.__configadmin:1.2.8]/ /at org.apache.felix.cm.impl.__UpdateThread.run(UpdateThread.__java:104)[5:org.apache.felix.__configadmin:1.2.8]/ /at java.lang.Thread.run(Thread.__java:662)[:1.6.0_32]/ For some reason the class "org.apache.log4j.nt.__NTEventLogAppender". Looking at the stack trace it seems like the handling of the configuration is done by the pax-logging-service which also has this class in it's own bundle. The NTEventLogAppender.dll is also required and is located in Karaf's "lib" directory (as it was in the past). Can someone shed some light on this? I'm not sure if it's a Karaf or Pax-logging issue (or simply a mistake I've made)? /Bengt -- Jean-Baptiste Onofré [email protected] <mailto:[email protected]> http://blog.nanthrax.net Talend - http://www.talend.com -- Jean-Baptiste Onofré [email protected] http://blog.nanthrax.net Talend - http://www.talend.com
