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.

Foi útil?

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).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top