Partage via


EventLog.Delete Méthode

Définition

Supprime une ressource du journal.

Surcharges

Delete(String, String)

Supprime un journal des événements de l'ordinateur spécifié.

Delete(String)

Supprime un journal des événements de l'ordinateur local.

Delete(String, String)

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

Supprime un journal des événements de l'ordinateur spécifié.

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)

Paramètres

logName
String

Nom du journal à supprimer. Les valeurs possibles sont notamment : application, sécurité, système et n'importe quel journal des événements personnalisé se trouvant sur l'ordinateur spécifié.

machineName
String

Nom de l'ordinateur d'où le journal doit être supprimé ou "." pour l'ordinateur local.

Exceptions

logName est une chaîne vide ("") ou a la valeur null.

- ou -

machineName n'est pas un nom d'ordinateur valide.

La clé de Registre du journal des événements n'a pas pu être ouverte sur l'ordinateur spécifié.

- ou -

Le journal n'existe pas sur l'ordinateur spécifié.

L'effacement du journal des événements a échoué.

- ou -

Impossible d'ouvrir le journal. Un code d'erreur Windows n'est pas disponible.

Exemples

L’exemple suivant supprime un journal de l’ordinateur spécifié. L’exemple détermine le journal à partir de sa source.

Notes

Plusieurs sources peuvent écrire dans un journal des événements. Avant de supprimer un journal personnalisé, vérifiez qu’aucune autre source n’écrit dans ce journal.

#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

Remarques

Utilisez cette méthode lorsque le journal que vous souhaitez supprimer se trouve sur un ordinateur distant. Vous pouvez supprimer n’importe quel journal sur l’ordinateur, à condition de disposer des autorisations de Registre appropriées.

Delete supprime le journal spécifié par logName de de l’ordinateur spécifié par machineName. Si vous souhaitez supprimer uniquement la source inscrite dans un journal, appelez DeleteEventSource. Si vous souhaitez uniquement supprimer les entrées de journal, appelez Clear. Delete et DeleteEventSource sont static des méthodes, de sorte qu’elles peuvent être appelées sur la classe elle-même. Il n’est pas nécessaire de créer une instance de pour appeler l’une ou l’autre EventLog méthode.

Cette méthode supprime d’abord le fichier qui contient le contenu du journal. Il accède ensuite au Registre et supprime toutes les sources d’événements inscrites pour ce journal. Si vous recréez le journal ultérieurement, vous devez réinscrire les sources d’événements, si elles doivent être réutilisées. Si vous n’inscrivez pas les sources d’événements et si d’autres utilisateurs écrivent dans une source d’événements sans spécifier de nom de journal, la source d’événement est créée dans le journal des événements application. Par conséquent, les applications qui étaient précédemment en mesure d’écrire des entrées dans le journal que vous avez supprimé et recréé écrivent plutôt dans le journal des applications, car il contient désormais la source d’événement.

Notes

Recréer un journal des événements peut être un processus difficile. Évitez de supprimer les journaux d’événements créés par le système, tels que le journal des applications.

La suppression d’un journal par le biais d’un appel supprime Delete automatiquement les sources inscrites dans ce journal. Cela peut rendre d’autres applications qui utilisent ce journal inopérante.

Voir aussi

S’applique à

Delete(String)

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

Supprime un journal des événements de l'ordinateur local.

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)

Paramètres

logName
String

Nom du journal à supprimer. Les valeurs possibles sont notamment : application, sécurité, système et n'importe quel journal des événements personnalisé se trouvant sur l'ordinateur.

Exceptions

logName est une chaîne vide ("") ou a la valeur null.

La clé de Registre du journal des événements n'a pas pu être ouverte sur l'ordinateur local.

- ou -

Le journal n'existe pas sur l'ordinateur local.

L'effacement du journal des événements a échoué.

- ou -

Impossible d'ouvrir le journal. Un code d'erreur Windows n'est pas disponible.

Exemples

L’exemple suivant supprime un journal de l’ordinateur local. L’exemple détermine le journal à partir de sa source.

Notes

Plusieurs sources peuvent écrire dans un journal des événements. Avant de supprimer un journal personnalisé, vérifiez qu’aucune autre source n’écrit dans ce journal.

#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

Remarques

Utilisez cette méthode lorsque le journal que vous souhaitez supprimer se trouve sur l’ordinateur local. Vous pouvez supprimer n’importe quel journal sur l’ordinateur, à condition de disposer des autorisations de Registre appropriées.

Delete supprime le journal spécifié par logName de de l’ordinateur local. Si vous souhaitez supprimer uniquement la source inscrite dans un journal, appelez DeleteEventSource. Si vous souhaitez uniquement supprimer les entrées de journal, appelez Clear. Delete et DeleteEventSource sont static des méthodes, de sorte qu’elles peuvent être appelées sur la classe elle-même. Il n’est pas nécessaire de créer une nouvelle instance de pour appeler l’une ou l’autre EventLog méthode.

La Delete méthode supprime d’abord le fichier qui contient le contenu du journal. Il accède ensuite au Registre et supprime toutes les sources d’événements inscrites pour ce journal. Si vous recréez le journal ultérieurement, vous devez réinscrire les sources d’événements, si elles doivent être réutilisées. Si vous n’inscrivez pas les sources d’événements et si d’autres utilisateurs écrivent dans une source d’événements sans spécifier de nom de journal, la source d’événement est créée dans le journal des événements application. Par conséquent, les applications qui étaient précédemment en mesure d’écrire des entrées dans le journal que vous avez supprimé et recréé écrivent plutôt dans le journal des applications, car il contient désormais la source d’événement.

Notes

Recréer un journal des événements peut être un processus difficile. Évitez de supprimer les journaux d’événements créés par le système, tels que le journal des applications.

La suppression d’un journal par le biais d’un appel supprime Delete automatiquement les sources inscrites dans ce journal. Cela peut rendre d’autres applications qui utilisent ce journal inopérante.

Voir aussi

S’applique à