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
