2009-03-04 14 views
2

Je journalisation des erreurs dans le journal des événements en utilisant l'habituel:Comment ouvrir le journal des événements par programme?

System.Diagnostics.Trace.TraceError("<" + purpose + "><time>" + DateTime.Now.ToUniversalTime() + "</time><message>" + message + "</message></" + purpose + ">"); 

et je me demande s'il y a un moyen d'appeler ce fichier journal et l'afficher pour l'utilisateur (que ce soit dans mon propre format ou par l'ouverture le fichier journal des événements directement comme 'Event Viewer').

J'ai trouvé le fichier dans% SystemRoot% \ System32 \ Winevt \ Logs \ mylog.evtx mais je ne sais pas si je devrais l'approcher de cette façon ou pas. Idéalement, j'aimerais émuler ce que l'Observateur d'événements fait mais personnalisé pour mon application.

+0

Juste une question, Trace.TraceError n'écrit pas dans le EventLog (par lui-même), n'est-ce pas? –

+0

@Henk, non, je ne crois pas. alphabeat a vraisemblablement ajouté un EventLogTraceListener à Trace.TraceListeners. –

+0

J'ai en effet. Bien que je n'étais pas au courant à l'époque, il avait déjà été installé par un autre développeur. –

Répondre

4

Essayez System.Diagnostics.EventLog

Par exemple, vous pouvez afficher les entrées dans les applications log comme suit

var log = EventLog.GetEventLogs().Where(x => x == "Application").First(); 
foreach (var entry in log.Entries) { 
    // Do something with the entry 
} 
+0

Bien sûr, merci! Comment n'ai-je pas vu ceci:/ –

+0

Merci pour l'exemple. Je m'aime un peu de lambda. –

+0

@alphabeat, lambdas rock :) – JaredPar

1

Je ne l'ai pas essayé de voir comment accessible les données dans le journal des événements est dans Vista/Windows Server 2k8 (* .evtx), mais la console MMC est extensible de sorte que vous pouvez écrire votre propre plugin MMC maintenant. Donc, si vous avez fini par écrire votre propre version de EventVwr.msc, c'est facile comme tarte maintenant.

http://msdn.microsoft.com/en-us/library/ms692759(VS.85).aspx

Qu'est-ce que vous êtes désireux de faire dans votre lecteur de journal personnalisé des thats manquants de la fonctionnalité actuelle?

Questions connexes