Прочитать на английском

Поделиться через


EventLog.DeleteEventSource Метод

Определение

Удаляет из журнала событий регистрацию источника событий приложения.

Перегрузки

DeleteEventSource(String)

Удаляет регистрацию источника событий из журнала событий на локальном компьютере.

DeleteEventSource(String, String)

Удаляет регистрацию источника событий приложения с указанного компьютера.

DeleteEventSource(String)

Исходный код:
EventLog.cs
Исходный код:
EventLog.cs
Исходный код:
EventLog.cs

Удаляет регистрацию источника событий из журнала событий на локальном компьютере.

public static void DeleteEventSource (string source);

Параметры

source
String

Имя, с которым приложение регистрируется в журнале событий системы.

Исключения

Параметр source отсутствует в реестре локального компьютера.

-или-

Отсутствуют права на запись в раздел реестра для журнала событий.

Примеры

В следующем примере удаляется источник с локального компьютера. В примере определяется журнал из его источника, а затем удаляется журнал.

Примечание

Несколько источников могут записывать данные в журнал событий. Перед удалением настраиваемого журнала убедитесь, что в нем нет других источников.

using System;
using System.Diagnostics;
using System.Threading;

class MySample1
{
    public static void Main()
    {
        string logName;

        if (EventLog.SourceExists("MySource"))
        {
            // Find the log associated with this source.
            logName = EventLog.LogNameFromSourceName("MySource", ".");
            // Make sure the source is in the log we believe it to be in.
            if (logName != "MyLog")
                return;
            // Delete the source and the log.
            EventLog.DeleteEventSource("MySource");
            EventLog.Delete(logName);

            Console.WriteLine(logName + " deleted.");
        }
        else
        {
            // Create the event source to make next try successful.
            EventLog.CreateEventSource("MySource", "MyLog");
        }
    }
}

Комментарии

Используйте этот метод, чтобы удалить регистрацию Source с локального компьютера. DeleteEventSource обращается к реестру на локальном компьютере и удаляет регистрацию приложения в качестве допустимого источника событий.

Вы можете удалить компонент в качестве допустимого источника событий, если он больше не требуется для записи записей в этот журнал. Например, это можно сделать, если необходимо изменить компонент из одного журнала в другой. Так как источник может быть зарегистрирован только в одном журнале за раз, для изменения журнала необходимо удалить текущую регистрацию.

DeleteEventSource Удаляет только источник, зарегистрированный в журнале. Если вы хотите удалить сам журнал, вызовите метод Delete. Если вы хотите удалить только записи журнала, вызовите .Clear Delete и DeleteEventSource являются static методами, поэтому их можно вызывать в самом классе. Нет необходимости создавать экземпляр для EventLog вызова любого из методов.

При удалении журнала с помощью вызова автоматически Delete удаляются источники, зарегистрированные в этом журнале. Это может сделать другие приложения, использующие этот журнал, неработоспособным.

Примечание

Если источник уже сопоставлен с журналом и вы повторно сопоставили его с новым журналом, необходимо перезагрузить компьютер, чтобы изменения вступили в силу.

См. также раздел

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

DeleteEventSource(String, String)

Исходный код:
EventLog.cs
Исходный код:
EventLog.cs
Исходный код:
EventLog.cs

Удаляет регистрацию источника событий приложения с указанного компьютера.

public static void DeleteEventSource (string source, string machineName);

Параметры

source
String

Имя, с которым приложение регистрируется в журнале событий системы.

machineName
String

Имя компьютера, с которого удаляется регистрация, или "." для локального компьютера.

Исключения

Параметр machineName является недопустимым.

-или-

Параметр source отсутствует в реестре заданного компьютера.

-или-

Отсутствуют права на запись в раздел реестра для журнала событий.

source не может быть удален, так как в реестре, родительский раздел реестра source не содержит подразделы с тем же именем.

Примеры

В следующем примере удаляется источник с указанного компьютера. В примере определяется журнал из его источника, а затем удаляется журнал.

Примечание

Несколько источников могут записывать данные в журнал событий. Перед удалением настраиваемого журнала убедитесь, что в нем нет других источников.

using System;
using System.Diagnostics;
using System.Threading;

class MySample
{
    public static void Main()
    {
        string logName;

        if (EventLog.SourceExists("MySource", "MyMachine"))
        {
            // Find the log associated with this source.
            logName = EventLog.LogNameFromSourceName("MySource", "MyMachine");
            // Make sure the source is in the log we believe it to be in.
            if (logName != "MyLog")
                return;
            // Delete the source and the log.
            EventLog.DeleteEventSource("MySource", "MyMachine");
            EventLog.Delete(logName, "MyMachine");

            Console.WriteLine(logName + " deleted.");
        }
        else
        {
            // Create the event source to make next try successful.
            EventSourceCreationData mySourceData = new EventSourceCreationData("MySource", "MyLog");
            mySourceData.MachineName = "MyMachine";
            EventLog.CreateEventSource(mySourceData);
        }
    }
}

Комментарии

Используйте эту перегрузку для удаления регистрации с удаленного Source компьютера. DeleteEventSource обращается к реестру на компьютере, указанном параметром , machineName и удаляет регистрацию приложения в качестве допустимого источника событий.

Вы можете удалить компонент в качестве допустимого источника событий, если он больше не требуется для записи записей в этот журнал. Например, это можно сделать, если необходимо изменить компонент из одного журнала в другой. Так как источник может быть зарегистрирован только в одном журнале за раз, для изменения журнала необходимо удалить текущую регистрацию.

DeleteEventSource Удаляет только источник, зарегистрированный в журнале. Если вы хотите удалить сам журнал, вызовите метод Delete. Если вы хотите удалить только записи журнала, вызовите .Clear Delete и DeleteEventSource являются static методами, поэтому их можно вызывать в самом классе. Нет необходимости создавать экземпляр для EventLog вызова любого из методов.

При удалении журнала с помощью вызова автоматически Delete удаляются источники, зарегистрированные в этом журнале. Это может сделать другие приложения, использующие этот журнал, неработоспособным.

Примечание

Если источник уже сопоставлен с журналом и вы повторно сопоставили его с новым журналом, необходимо перезагрузить компьютер, чтобы изменения вступили в силу.

См. также раздел

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9