2011-05-31 3 views
0

ppl Hy,Log4J NTEventLogAppender DLL non trouvé

Je vais avoir un problème en essayant d'utiliser NTEventLogAppender de Log4J.

J'ai mis mes propriétés Log4J comme ceci:

log4j.rootLogger=DEBUG, CA, NTEventLog 


    #Console Appender 
    log4j.appender.CA=org.apache.log4j.ConsoleAppender 
    log4j.appender.CA.layout=org.apache.log4j.PatternLayout 
    log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 

    #File Appender 
    log4j.appender.FA=org.apache.log4j.FileAppender 
    log4j.appender.FA.File=sample.log 
    log4j.appender.FA.layout=org.apache.log4j.PatternLayout 
    log4j.appender.FA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 

    #Event Log Appender 
    log4j.appender.NTEventLog=org.apache.log4j.nt.NTEventLogAppender 
    log4j.appender.NTEventLog.source=ESB Web Services 


    # Set the logger level of File Appender to WARN 
    log4j.appender.FA.Threshold = WARN 

Suivant les conseils here, je l'ai placé fichier NTEventLogAppender.amd64.dll sur mon dossier System32, mais lorsque je tente d'instancier une classe utilise un Logger je reçois cette exception:

exception dans le thread "principal" java.lang.UnsatisfiedLinkError: NTEventLogAppender (Pas trouvé dans java.library.path)

Quel est le problème ici?

Répondre

1

C'est de vous permettre de déboguer facilement:

Si vous avez ajoutez le dll dans le dossier System32, assurez-vous que le répertoire est également inclus dans le chemin de bibliothèque Java java.library.path:

Pour tester (par code):

System.out.println(System.getProperty("java.library.path")); 

sortie (partiel):

C:\Program Files\Java\jdk1.6.0_21\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files\Borland\Delphi7\Bin;C:\Program Files\Borland\Delphi7\Projects\Bpl\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\Program Files\RemObjects Software\Everwood\Bin;C:\Program Files\RemObjects Software\RemObjects SDK for Delphi\Dcu\D7;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;c:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Embarcadero\Delphi Prism\bin;C:\Program Files\Developer Express.VCL\Library\Delphi14;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Developer Express.VCL\Library\Delphi7

+0

Merci J'ai vérifié le chemin et C: \ Windows \ system32 est sur elle Toutes les autres suggestions? – RedEagle

0

Malgré le System32 sur mon chemin de compilation java, je l'ai placé sur:

C: \ Program Files (x86) \ IBM \ WID7_WTE \ runtimes \ bi_v7 \ java \ jre \ bin

Cela a également été sur mon chemin de construction et enfin obtenu le fonctionnement

Merci!