Я только что написал небольшой код, чтобы помочь мне в этом. источник зарегистрирован в другой проблеме журнала, с которой я столкнулся и не хочу вручную удалять источники из журналов. Я решил проверить, существует ли источник, проверяет ли он, что он связан с правильным журналом, если он не удаляет источник, теперь, когда он не существует, или если он никогда не создавал новый журнал. .
protected const string EventLogName = "MyLog";
private static bool CheckSourceExists(string source) {
if (EventLog.SourceExists(source)) {
EventLog evLog = new EventLog {Source = source};
if (evLog.Log != EventLogName) {
EventLog.DeleteEventSource(source);
}
}
if (!EventLog.SourceExists(source)) {
EventLog.CreateEventSource(source, EventLogName);
EventLog.WriteEntry(source, String.Format("Event Log Created '{0}'/'{1}'", EventLogName, source), EventLogEntryType.Information);
}
return EventLog.SourceExists(source);
}
public static void WriteEventToMyLog(string source, string text, EventLogEntryType type) {
if (CheckSourceExists(source)) {
EventLog.WriteEntry(source, text, type);
}
}
Надеюсь, это поможет:)