2012-06-25 58 views
3

我想学习如何从java eclipse登录到事件查看器,并且我已经阅读了堆栈溢出中的api,各种网站和类似问题。NTEventLogAppender的源代码示例?

但是,当我按照步骤我总是得到:

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.log4j.nt.NTEventLogAppender.registerEventSource(Ljava/lang/String;Ljava/lang/String;)I 
at org.apache.log4j.nt.NTEventLogAppender.registerEventSource(Native Method) 
at org.apache.log4j.nt.NTEventLogAppender.<init>(NTEventLogAppender.java:79) 
at org.apache.log4j.nt.NTEventLogAppender.<init>(NTEventLogAppender.java:65) 

什么是源应该是什么?

如果任何人都可以展示这样一个非常好的程序的完整示例。请尽可能详细地介绍,谢谢。

我的代码现在的问题是:

package Output; 

import org.apache.log4j.BasicConfigurator; 
import org.apache.log4j.ConsoleAppender; 
import org.apache.log4j.Level; 
import org.apache.log4j.Logger; 
import org.apache.log4j.PatternLayout; 
import org.apache.log4j.PropertyConfigurator; 
import org.apache.log4j.nt.NTEventLogAppender; 

public class EventLog { 
    public static void main(String[] args) 
    { 

     Logger myLogger = Logger.getLogger(EventLog.class); 

     String mySource = "the source"; 
     PatternLayout myLayout = new PatternLayout("[%c][%l][%p][%thread]: %m%n"); 

     NTEventLogAppender eventLogAppender= new NTEventLogAppender(mySource,myLayout); 

     ConsoleAppender consoleAppender= new ConsoleAppender(myLayout); 

     myLogger.addAppender(consoleAppender); 
     myLogger.addAppender(eventLogAppender); 

     myLogger.setLevel(Level.WARN); 

     myLogger.fatal("Come on print"); 
    }  
} 

回答

2

我只是在寻找到如何做到这一点也。我没有足够的时间来测试这个答案,但是从我读的错误是由于没有正确的.dll文件而导致的。

“不要忘记将NTEventLogAppender.dll,NTEventLogAppender.amd64.dll,NTEventLogAppender.ia64.dll或NTEventLogAppender.x86.dll作为一个目录是Windows系统的路径合适的。否则,你会得到一个java.lang.UnsatisfiedLinkError中”