Как я могу писать из Java в журнал событий Windows?
Как писать с Java в журнал событий Windows?
Ответ 1
Log4J - это утилита ведения журнала на основе Java. Класс NTEventLogAppender
можно использовать для "добавления в систему журналов событий NT". Смотрите документацию здесь:
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/nt/NTEventLogAppender.html
Изменить: Существует более новая версия Log4j 2, которая обеспечивает значительные улучшения по сравнению с предшественником."
Ответ 2
Вы можете использовать JNA для записи в журнал событий непосредственно без необходимости использования каких-либо родных DLL. См. Классы Advapi32 и Advapi32Util для различных методов журнала событий (корабли с JNA 3.2.8).
Если вы используете Log4j, рассмотрите Log4jna вместо NTEventLogAppender.
Ответ 3
В 2001 году JavaWorld опубликовала статью о том, как писать сообщения в журнал событий Windows NT. Или вы можете взглянуть на Log4j NTEventLogAppender класс.
Ответ 4
Вы также можете использовать команду eventcreate для Windows XP Pro и выше.
String command = "eventcreate "
+ " /l APPLICATION"
+ " /so \"" + applicationObjectName + "\""
+ " /t " + lvl
+ " /id " + id
+ " /d \"" + description + "\"";
Runtime.getRuntime().exec(command);
Для дома XP и ниже вы можете создать приложение vbs, которое записывается с использованием метода wscript.shell.eventcreate. Однако вы жертвуете способностью указывать источник.
Пример: http://www.ozzu.com/mswindows-forum/posting-event-log-with-batch-files-t76791.html