Colocar dados XML no Log de Eventos do Windows
-
06-07-2019 - |
Pergunta
Como posso escrever dados XML para o log de eventos do Windows?
Tenho notado que há uma maneira de inserir XML em log de eventos do Windows (e não apenas por enchê-lo na descrição). O efeito é que você começa apenas a sua mensagem de descrição na vista General
no Windows Vista. Você pode ver seus dados XML na exibição Details
.
Se você selecionar o botão de rádio Friendly
, ele aparece sob o nó Event Data
. Se você selecionar a visualização XML, então você começa a ver o XML.
Eu pensei que a matriz de bytes rawData no método EventLog.WriteEntry()
me permita fazer isso. Tentei encher a saída do XMLWriter nele. Que os dados de venda no registo de eventos, mas é visto como binário em vez de XML.
Solução
Se não me engano, a fim de escrever xml para o evento carmesim / Vista log você vai ter criar e registrar um manifesto que lhe dará os canais e eventos apropriados. Então você tem que compilar o manifesto usando o Mensagem Compiler (mc.exe) na WindowsSDK .
Então, se você quiser registrar a partir de C # você vai querer criar um provedor conseguiu envolver o API registo de eventos. Este é um pouco mais difícil porque você terá que usar PInvoke para chegar à API.
Há posts sobre como fazer todo este processo aqui .
Outras dicas
Você tem uma amostra em Windows SDK (versão 6.1) chamado EventProvider.
É um provedor de C # (precisa Vista e até de trabalho) que usa o novo log de eventos API (AKA vermelho).
Esta amostra mostra como adicionar dados personalizados (montante outras coisas).