Вопрос

Как я могу записать XML-данные в журнал событий Windows?

Я заметил, что есть способ вставить XML в журнал событий Windows (а не просто вставить его в описание).В результате вы получаете только ваше сообщение с описанием в General просмотр в Windows Vista.Вы можете просмотреть свои XML-данные в Details Вид.

Если вы выберете Friendly переключатель, он появляется под Event Data узел.Если вы выберете представление XML, то увидите XML-файл.

Я думал, что массив байтов RawData в EventLog.WriteEntry() метод позволил бы мне сделать это.Я попытался вставить в него выходные данные XmlWriter.Это помещает данные в журнал событий, но они рассматриваются как двоичные, а не XML.

Это было полезно?

Решение

Если я не ошибаюсь, для записи xml в журнал событий Crimson / Vista вам нужно будет создать и зарегистрировать манифест, который предоставит вам соответствующие каналы и события.Затем вы должны скомпилировать манифест, используя Компилятор сообщение (mc.exe) в WindowsSDK.

Затем, если вы хотите войти в систему с C #, вам нужно будет создать управляемого поставщика для переноса API ведения журнала событий.Это немного сложнее, потому что вам придется использовать PInvoke, чтобы получить доступ к API.

Есть записи в блоге о том, как выполнить весь этот процесс здесь.

Другие советы

У вас есть образец в Пакет SDK для Windows (версия 6.1) вызывается EventProvider.
Это поставщик C # (для работы нужна Vista и выше), который использует новый API журнала событий (ОН ЖЕ crimson).
В этом примере показано, как добавить пользовательские данные (и многое другое).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top