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中找不到)
这里有什么问题?
答案 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
那也是我的构建路径,最后让它正常工作
谢谢!