Ereignisprotokoll Codefehler in der Lage, nicht die Ereignisquelle zu finden?
Frage
Ich versuche, das Ereignisprotokoll zu verwenden, um einige Debug-Informationen zu schreiben, und ich kann es funktioniert nicht machen. Es beschwert sich über nicht die Ereignisquelle finden zu können. Muss ich etwas auf dem OS installieren?
Lösung
Hier ist ein Code, den ich von einem unserer Anwendung modifiziert. Dies könnte helfen Ihnen bei der Erstellung zu beginnen.
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");
Andere Tipps
Was Code verwenden Sie in Ihrem Projekt? Ich verwende derzeit diese Zeile in das Ereignisprotokoll zu schreiben.
System.Diagnostics.EventLog.WriteEntry(assemblyName, "Error stuff", System.Diagnostics.EventLogEntryType.Error);
Sehen Sie zwar heraus, das eine Ausnahme auslösen, wenn die Protokolldatei voll ist
Sie können auch direkt in der Registrierung gehen und die Werte hinzufügen erforderlich, damit es funktioniert, oder Sie können ein Projekt in der Lösung hinzugefügt, die nur ein Installer enthalten, die den Event-Log-Eintrag für Sie erstellen, wenn Sie die exe es laufen erstellt.