Java から Windows イベント ログに書き込むにはどうすればよいですか?
4 に答える
Log4J は、Java ベースのロギング ユーティリティです。このクラスNTEventLogAppender
は、「NT イベント ログ システムに追加」するために使用できます。こちらのドキュメントを参照してください。
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/nt/NTEventLogAppender.html
編集:新しいバージョンの Log4j 2があり、 「その前身よりも大幅に改善されています。」
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
2001 年に、JavaWorld は、Windows NT イベント ログにメッセージを書き込む方法に関する記事を公開しました。または、Log4j NTEventLogAppenderクラスを調べることもできます。