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


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 удаляются источники, зарегистрированные в этом журнале. Это может сделать другие приложения, использующие этот журнал, неработоспособным.

Примечание

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

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

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