Errore del codice registro eventi che non riesce a trovare l'origine evento?
Domanda
Sto cercando di utilizzare il registro eventi per scrivere alcune informazioni di debug e non riesco a farlo funzionare. Si lamenta di non essere in grado di trovare la fonte dell'evento. Devo installare qualcosa sul sistema operativo?
Soluzione
Qui un codice che ho modificato da una delle nostre applicazioni. Questo potrebbe aiutarti a iniziare con la creazione.
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");
Altri suggerimenti
Quale codice stai usando attualmente nel tuo progetto? Attualmente sto usando questa riga per scrivere nel registro eventi.
System.Diagnostics.EventLog.WriteEntry(assemblyName, "Error stuff", System.Diagnostics.EventLogEntryType.Error);
Attenzione, questo genererà un'eccezione se il file di registro è pieno
Puoi anche andare direttamente nel registro e aggiungere i valori richiesti per farlo funzionare o potresti aggiungere un progetto nella soluzione che conterrà solo una InstallerClass che creerà la voce EventLog per te, quando esegui il file crea.