EventLog.Delete Метод

Определение

Удаляет ресурс журнала.

Перегрузки

Delete(String, String)

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

Delete(String)

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

Delete(String, String)

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

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

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

Параметры

logName
String

Имя удаляемого журнала. Допустимые: Application, Security, System или имя пользовательского журнала событий на заданном компьютере.

machineName
String

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

Исключения

logName является пустой строкой ("") или null.

-или-

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

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

-или-

Журнала на указанном компьютере не существует.

Создание журнала событий не было завершено успешно.

-или-

Невозможно открыть журнал. Код ошибки Windows недоступен.

Примеры

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

Примечание

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

#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

Комментарии

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

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

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

Примечание

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

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

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

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

Delete(String)

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

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

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

Параметры

logName
String

Имя удаляемого журнала. Допустимые значения: Application, Security, System или имя пользовательского журнала событий на компьютере.

Исключения

logName является пустой строкой ("") или null.

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

-или-

Журнала на локальном компьютере не существует.

Создание журнала событий не было завершено успешно.

-или-

Невозможно открыть журнал. Код ошибки Windows недоступен.

Примеры

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

Примечание

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

#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

Комментарии

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

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

Метод Delete сначала удаляет файл, содержащий содержимое журнала. Затем он обращается к реестру и удаляет все источники событий, зарегистрированные для этого журнала. Если позже вы повторно создадите журнал, необходимо снова зарегистрировать источники событий, если они будут использоваться повторно. Если вы не регистрируете источники событий и другие пользователи записывают данные в источник событий без указания имени журнала, источник событий будет создан в журнале событий приложения. Таким образом, приложения, которые ранее могли записывать записи в журнал, который вы удалили и создали заново, будут записывать данные в журнал приложений, так как теперь он содержит источник событий.

Примечание

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

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

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

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