Подписаться на журнал событий Windows в Java

Я наблюдаю за изменениями папки, используя java.nio.file.WatchService, чтобы увидеть, когда файл изменяется. Что мне также нужно, когда я получаю событие ENTRY_MODIFIED, чтобы увидеть, кто изменил файл. Для этого я пытаюсь найти журнал событий Windows. Поэтому, когда я получаю событие от WatchService, я просматриваю записи в журнале событий Windows, используя Advapi32Util.EventLogIterator.

    Advapi32Util.EventLogIterator iter = new Advapi32Util.EventLogIterator("Security");
    while(iter.hasNext()) {
        Advapi32Util.EventLogRecord record = iter.next();
    }

Из этой записи я получаю нужную мне информацию. Моя проблема заключается в том, что если я перейду к журналу событий именно в тот момент, когда получу событие от WatchService, записи журнала там еще не будет. Если я остановлюсь на 500 миллисекунд и перейду после этого, то это сработает. Таким образом, запись в журнале событий занимает некоторое время. Есть ли способ подписаться на журнал событий, чтобы я получал уведомление, когда он уже обновлен и готов к обходу, чтобы я не ждал больше, чем нужно? (иногда 500 миллисекунд могут быть больше, чем необходимо, я хочу выполнить операцию как можно быстрее)

0 ответов

Другие вопросы по тегам