Erreur de code du journal des événements: impossible de trouver la source de l'événement?
Question
J'essaie d'utiliser le journal des événements pour écrire des informations de débogage et je ne peux pas le faire fonctionner. Il se plaint de ne pas pouvoir trouver la source d'événement. Dois-je installer quelque chose sur le système d'exploitation?
La solution
Voici un code que j'ai modifié depuis l'une de nos applications. Cela pourrait vous aider à commencer avec la création.
System.Diagnostics.EventLog eventLog1 = new System.Diagnostics.EventLog();
string eventLogName = "StackOverFlowEventName";
string eventLogSource = "StackOverFlowWebsite";
//This code HERE will create the Event for you
if (!System.Diagnostics.EventLog.SourceExists(eventLogSource))
{
System.Diagnostics.EventLog.CreateEventSource(eventLogSource, eventLogName);
}
eventLog1.Source = eventLogSource;
eventLog1.Log = eventLogName;
eventLog1.WriteEntry("This is a test");
Autres conseils
Quel code utilisez-vous actuellement dans votre projet? J'utilise actuellement cette ligne pour écrire dans le journal des événements.
System.Diagnostics.EventLog.WriteEntry(assemblyName, "Error stuff", System.Diagnostics.EventLogEntryType.Error);
Attention cependant, cela lève une exception si le fichier journal est plein
Vous pouvez également accéder directement au registre et ajouter les valeurs requises pour le faire fonctionner ou ajouter un projet dans la solution qui contiendra uniquement un InstallerClass qui créera l'entrée EventLog pour vous, lorsque vous l'exécutez. crée.