logging - NTEventLogAppender 的源示例?

标签 logging log4j event-log event-viewer

我正在尝试学习如何从 java eclipse 登录到事件查看器,并且我已经阅读了 api、各种站点以及有关堆栈溢出的类似问题。

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

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");
    }    
}

最佳答案

我也只是在研究如何做到这一点。我没有足够的时间来测试这个答案,但从我读到的内容来看,错误是由于在正确的位置没有正确的 .dll 文件引起的。

“不要忘记将 NTEventLogAppender.dll、NTEventLogAppender.amd64.dll、NTEventLogAppender.ia64.dll 或 NTEventLogAppender.x86.dll 适本地放置在 Windows 系统 PATH 上的目录中。否则,您将得到java.lang.UnsatisfiedLinkError"

关于logging - NTEventLogAppender 的源示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11189343/

相关文章:

c# - 如何在 MongoDB C# Driver 2.0 中记录我的查询?

mysql - phpmyadmin 打开.log 文件

grails - grails应用程序的Log4j socketappender配置?

delphi - 使用 Delphi 写入 Windows 事件日志

windows - 何时登录 Windows 事件日志?

powershell - 如何注册 'get-eventlog' 的事件?

logging - 如何使用 IIS 7 自定义日志记录模块和 ETW 跟踪模块

java - 哪个日志库包含带有静态方法的 Log 类?

java - 如何停止 log4j 记录日志

java - 为什么 log4j 在(多次)重复相同异常后禁用堆栈跟踪?