EventLog.DeleteEventSource Метод

Определение

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

Перегрузки

DeleteEventSource(String)

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

DeleteEventSource(String, String)

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

DeleteEventSource(String)

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

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

public:
 static void DeleteEventSource(System::String ^ source);
public static void DeleteEventSource (string source);
static member DeleteEventSource : string -> unit
Public Shared Sub DeleteEventSource (source As String)

Параметры

source
String

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

Исключения

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

-или-

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

Примеры

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

Примечание

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

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int 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 -1;
      // Delete the source and the log.
      EventLog::DeleteEventSource( "MySource" );
      EventLog::Delete( logName );
      Console::WriteLine( "{0} deleted.", logName );
   }
   else
        {
            // Create the event source to make next try successful.
            EventLog::CreateEventSource("MySource", "MyLog");
        }
}
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");
        }
    }
}
Option Explicit On
Option Strict On

Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        Dim logName As String

        If EventLog.SourceExists("MySource") Then
            ' 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") Then
                Return
            End If
            ' 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")
        End If
    End Sub
End Class

Комментарии

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

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

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

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

Примечание

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

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

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

DeleteEventSource(String, String)

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

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

public:
 static void DeleteEventSource(System::String ^ source, System::String ^ machineName);
public static void DeleteEventSource (string source, string machineName);
static member DeleteEventSource : string * string -> unit
Public Shared Sub DeleteEventSource (source As String, machineName As String)

Параметры

source
String

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

machineName
String

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

Исключения

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

-или-

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

-или-

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

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

Примеры

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

Примечание

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

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int 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 -1;
      // Delete the source and the log.
      EventLog::DeleteEventSource( "MySource", "MyMachine" );
      EventLog::Delete( logName, "MyMachine" );
      Console::WriteLine( "{0} deleted.", logName );
   }
   else
        {
            // Create the event source to make next try successful.
            EventSourceCreationData^ mySourceData = gcnew EventSourceCreationData("MySource", "MyLog");
            mySourceData->MachineName = "MyMachine";
            EventLog::CreateEventSource(mySourceData);
        }
}
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);
        }
    }
}
Option Explicit On
Option Strict On

Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        Dim logName As String

        If EventLog.SourceExists("MySource", "MyMachine") Then
            ' 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") Then
                Return
            End If
            ' 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.
            Dim mySourceData As New EventSourceCreationData("MySource", "MyLog")
            mySourceData.MachineName = "MyMachine"
            EventLog.CreateEventSource(mySourceData)
        End If
    End Sub
End Class

Комментарии

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

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

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

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

Примечание

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

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

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