Question

Comment puis-je écrire des données XML dans le journal des événements Windows?

J'ai remarqué qu'il existe un moyen d'insérer du code XML dans le journal des événements de Windows (et pas simplement en le glissant dans la description). En conséquence, vous obtenez uniquement votre message de description dans la vue Général de Windows Vista. Vous pouvez voir vos données XML dans la vue Détails .

Si vous sélectionnez le bouton radio Amical , il apparaît sous le noeud Données de l'événement . Si vous sélectionnez la vue XML, vous obtenez alors le XML.

Je pensais que le tableau d'octets rawData de la méthode EventLog.WriteEntry () me permettrait de le faire. J'ai essayé d'y insérer la sortie de XMLWriter. Cela a mis les données dans le journal des événements, mais cela est vu comme binaire au lieu de XML.

Était-ce utile?

La solution

Sauf erreur de ma part, pour pouvoir écrire xml dans le journal des événements Crimson / Vista, vous devez créer et enregistrer un manifeste qui vous donnera les canaux et les événements appropriés. Ensuite, vous devez compiler le manifeste à l'aide du Compilateur de messages (mc.exe) dans WindowsSDK .

Ensuite, si vous souhaitez vous connecter à partir de C #, vous devez créer un fournisseur géré pour emballer l'API de journalisation des événements. C’est un peu plus difficile, car vous devrez utiliser PInvoke pour accéder à l’API.

Il existe des articles de blog sur la procédure à suivre pour l'ensemble de ce processus ici .

Autres conseils

Vous en avez un exemple dans Kit de développement logiciel (SDK) Windows (version 6.1) appelé EventProvider.
C’est un fournisseur C # (qui a besoin de Vista et qui fonctionne) qui utilise la nouvelle API du journal des événements (AKA crimson).
Cet exemple montre comment ajouter des données personnalisées (autres éléments).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top