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

Reply via email to