How to write from Java to the Windows Event Log?
Question
How can I write from Java to the Windows Event Log?
Solution
Log4J is a Java-based logging utility. The class NTEventLogAppender
can be used to "append to the NT event log system". See the documentation here:
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/nt/NTEventLogAppender.html
Edit: There is a newer version, Log4j 2 "that provides significant improvements over its predecessor."
OTHER TIPS
Back in 2001 JavaWorld published an article on how to write messages to the Windows NT Event Log. Or, you can take a look at the Log4j NTEventLogAppender class.
You can also use the eventcreate command on Windows XP Pro and above.
String command = "eventcreate "
+ " /l APPLICATION"
+ " /so \"" + applicationObjectName + "\""
+ " /t " + lvl
+ " /id " + id
+ " /d \"" + description + "\"";
Runtime.getRuntime().exec(command);
For XP home and lower, you could create a vbs application that writes using the wscript.shell.eventcreate method. However you sacrifice the ability to specify source.
Example: http://www.ozzu.com/mswindows-forum/posting-event-log-with-batch-files-t76791.html