找不到Log4J NTEventLogAppender DLL

时间:2011-05-31 09:26:57

标签: java dll log4j event-log

Hy ppl,

我在尝试使用Log4J的NTEventLogAppender时遇到问题。

我已经设置了我的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

根据建议here,我在我的System32文件夹上放置了NTEventLogAppender.amd64.dll文件,但是当我尝试使用Logger实例时,我得到了这个例外:

线程“main”中的异常java.lang.UnsatisfiedLinkError:NTEventLogAppender(在java.library.path中找不到)

这里有什么问题?

2 个答案:

答案 0 :(得分:2)

这是为了让您轻松调试

如果您确实在System32文件夹中添加了dll,请确保该目录也包含在Java的库路径java.library.path中:

测试(通过代码):

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

输出(部分):

  

C:\程序   文件\的Java \ jdk1.6.0_21 \ BIN; C:\ WINDOWS \太阳\的Java \ BIN; C:\ Windows \ System32下; C:\ WINDOWS; C:/程序   文件/的Java / JRE6 /斌/客户端; C:/程序   文件/的Java / JRE6 /箱; C:\ PROGRAM   Files \ Common Files \ Microsoft   共享\ Windows Live; C:\ Program   文件\ Borland的\ Delphi7的\ BIN; C:\ PROGRAM   文件\ Borland的\ Delphi7的\项目\栉Bpl \; C:\ WINDOWS \ SYSTEM32; C:\ WINDOWS; C:\ WINDOWS \ SYSTEM32 \ WBEM; C:\ WINDOWS \ SYSTEM32 \ WindowsPowerShell \ V1.0 \; C:\ PROGRAM   Files \ Microsoft SQL   服务器\ 80个\工具\ BINN; C:\ PROGRAM   文件\的RemObjects   SOFTWARE \雪山镇\ BIN; C:\ PROGRAM   Files \ RemObjects Software \ RemObjects   SDK for Delphi \ Dcu \ D7; C:\ Program   Files \ Microsoft SQL   服务器\ 100个\工具\ BINN \; C:\ PROGRAM   Files \ Microsoft SQL   服务器\ 100 \ DTS \ BINN \; C:\ PROGRAM   Files \ Microsoft SQL   服务器\ 100个\ TOOLS \ BINN \ VSShell \ Common7 \ IDE \; C:\ PROGRAM   Files \ Microsoft Visual Studio   9.0 \ Common7 \ IDE \ PrivateAssemblies \; C:\ PROGRAM   Files \ Microsoft SQL   服务器\ 80个\ TOOLS \ BINN \; C:\ PROGRAM   Files \ Microsoft SQL   服务器\ 90个\ TOOLS \ BINN \; C:\ PROGRAM   文件\ Embarcadero公司\德尔福   Prism \ bin; C:\ Program Files \ Developer   Express.VCL \图书馆\ Delphi14; C:\ PROGRAM   文件\ QuickTime的\ QTSystem \; C:\ PROGRAM   文件\开发   Express.VCL \库\ Delphi7的

答案 1 :(得分:0)

尽管我的java构建路径上有System32,但我把它放在了:

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

那也是我的构建路径,最后让它正常工作

谢谢!