24

Java から Windows イベント ログに書き込むにはどうすればよいですか?

4

4 に答える 4

24

Log4J は、Java ベースのロギング ユーティリティです。このクラスNTEventLogAppenderは、「NT イベント ログ システムに追加」するために使用できます。こちらのドキュメントを参照してください。

http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/nt/NTEventLogAppender.html

編集:新しいバージョンの Log4j 2があり、 「その前身よりも大幅に改善されています。」

于 2008-10-02T22:27:30.813 に答える
9

JNAを使用すると、ネイティブDLLを必要とせずに、イベントログに直接書き込むことができます。さまざまなイベントログメソッドについては、Advapi32クラスとAdvapi32Utilクラスを参照してください(JNA 3.2.8以降に出荷されます)。

Log4jを使用している場合は、NTEventLogAppenderの代わりにLog4jnaを検討してください

于 2010-09-28T18:10:27.517 に答える
5

Windows XP Pro 以降では、eventcreate コマンドも使用できます。

String command = "eventcreate "
               + " /l APPLICATION"
               + " /so \"" + applicationObjectName + "\""
               + " /t " + lvl
               + " /id " + id
               + " /d \"" + description + "\"";

Runtime.getRuntime().exec(command);

XP ホーム以下では、wscript.shell.eventcreate メソッドを使用して書き込みを行う vbs アプリケーションを作成できます。ただし、ソースを指定する機能を犠牲にします。

例: http://www.ozu.com/mswindows-forum/posting-event-log-with-batch-files-t76791.html

于 2010-02-07T04:04:16.683 に答える
5

2001 年に、JavaWorld は、Windows NT イベント ログにメッセージを書き込む方法に関する記事を公開しました。または、Log4j NTEventLogAppenderクラスを調べることもできます。

于 2008-10-02T22:28:33.807 に答える