Log4J NTEventLogAppender DLL не найдена - PullRequest
0 голосов
/ 31 мая 2011

Hy ppl,

У меня проблема с попыткой использования NTEventLogAppender Log4J.

Я установил свои свойства Log4J следующим образом:

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

Послесовет здесь , я поместил файл NTEventLogAppender.amd64.dll в свою папку System32, но когда я пытаюсь создать экземпляр класса, использующего Logger, я получаю следующее исключение:

Исключение в потоке "main" java.lang.UnsatisfiedLinkError: NTEventLogAppender (не найдено в java.library.path)

Что здесь не так?

Ответы [ 2 ]

2 голосов
/ 31 мая 2011

Это позволяет вам легко отлаживать :

Если вы добавили dll в папку System32, убедитесь, что каталог также включен в путь к библиотеке Java java.library.path:

Для проверки (с помощью кода):

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

Вывод (частично):

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: /Программные файлы / 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 для Delphi \ Dcu \ D7; C: \ Program Files \ Microsoft SQL Server \ 100 \ Инструменты \ 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: \Программные файлы \ QuickTime \ QTSystem \; C: \ Программные файлы \ Developer Express.VCL \ Library \ Delphi7

0 голосов
/ 31 мая 2011

Несмотря на наличие System32 в моем пути сборки Java, я поместил его в:

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

Это также было на моем пути сборки и, наконец, оно заработало

Спасибо!

...