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


Reply via email to