EventLog.GetEventLogs Méthode

Définition

Crée un tableau des journaux d’événements.

Surcharges

Nom Description
GetEventLogs(String)

Recherche tous les journaux d’événements sur l’ordinateur donné et crée un tableau d’objets EventLog qui contiennent la liste.

GetEventLogs()

Recherche tous les journaux d’événements sur l’ordinateur local et crée un tableau d’objets EventLog qui contiennent la liste.

GetEventLogs(String)

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

Recherche tous les journaux d’événements sur l’ordinateur donné et crée un tableau d’objets EventLog qui contiennent la liste.

public:
 static cli::array <System::Diagnostics::EventLog ^> ^ GetEventLogs(System::String ^ machineName);
public static System.Diagnostics.EventLog[] GetEventLogs(string machineName);
static member GetEventLogs : string -> System.Diagnostics.EventLog[]
Public Shared Function GetEventLogs (machineName As String) As EventLog()

Paramètres

machineName
String

Ordinateur sur lequel rechercher les journaux d’événements.

Retours

Tableau de type EventLog qui représente les journaux d’activité sur l’ordinateur donné.

Exceptions

Le machineName paramètre est un nom d’ordinateur non valide.

Vous n’avez pas accès en lecture au Registre.

- ou -

Il n’existe aucun service de journal des événements sur l’ordinateur.

Exemples

L’exemple suivant obtient la liste des journaux d’activité sur l’ordinateur « myServer ». Il génère ensuite le nom de chaque journal.

using System;
using System.Diagnostics;

class MySample
{
    public static void Main()
    {
        EventLog[] remoteEventLogs;

        remoteEventLogs = EventLog.GetEventLogs("myServer");

        Console.WriteLine("Number of logs on computer: " + remoteEventLogs.Length);

        foreach (EventLog log in remoteEventLogs)
        {
            Console.WriteLine("Log: " + log.Log);
        }
    }
}
Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        Dim remoteEventLogs() As EventLog

        remoteEventLogs = EventLog.GetEventLogs("myServer")

        Console.WriteLine(("Number of logs on computer: " & remoteEventLogs.Length))

        Dim log As EventLog
        For Each log In  remoteEventLogs
            Console.WriteLine(("Log: " & log.Log))
        Next log
    End Sub
End Class

Remarques

Le tableau d’objets est un instantané de tous les journaux d’événements EventLog sur l’ordinateur spécifié par le machineName paramètre lors de l’appel.GetEventLogs Il ne s’agit pas d’une collection dynamique, ce qui ne reflète pas la suppression ou la création de journaux en temps réel. Vous devez vérifier qu’un journal dans le tableau existe avant de lire ou d’y écrire. Le tableau inclut généralement au moins trois journaux : Application, Système et Sécurité. Si vous avez créé des journaux personnalisés sur l’ordinateur spécifié, ils apparaissent également dans le tableau.

GetEventLogs est une static méthode, afin qu’elle puisse être appelée sur la EventLog classe elle-même. Il n’est pas nécessaire de créer une instance d’un EventLog objet pour effectuer un appel à la méthode.

Pour récupérer la liste des journaux d’événements, vous devez disposer des autorisations de Registre appropriées. Ces autorisations sont identiques à celles requises pour appeler Exists et SourceExists.

Voir aussi

S’applique à

GetEventLogs()

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

Recherche tous les journaux d’événements sur l’ordinateur local et crée un tableau d’objets EventLog qui contiennent la liste.

public:
 static cli::array <System::Diagnostics::EventLog ^> ^ GetEventLogs();
public static System.Diagnostics.EventLog[] GetEventLogs();
static member GetEventLogs : unit -> System.Diagnostics.EventLog[]
Public Shared Function GetEventLogs () As EventLog()

Retours

Tableau de type EventLog qui représente les journaux d’activité sur l’ordinateur local.

Exceptions

Vous n’avez pas accès en lecture au Registre.

- ou -

Il n’existe aucun service de journal des événements sur l’ordinateur.

Exemples

L’exemple suivant énumère les journaux d’événements définis sur l’ordinateur local et affiche les détails de configuration pour chaque journal des événements.

static void DisplayEventLogProperties()
{
    // Iterate through the current set of event log files,
    // displaying the property settings for each file.

    EventLog[] eventLogs = EventLog.GetEventLogs();
    foreach (EventLog e in eventLogs)
    {
        Int64 sizeKB = 0;

        Console.WriteLine();
        Console.WriteLine("{0}:", e.LogDisplayName);
        Console.WriteLine("  Log name = \t\t {0}", e.Log);

        Console.WriteLine("  Number of event log entries = {0}", e.Entries.Count.ToString());

        // Determine if there is an event log file for this event log.
        RegistryKey regEventLog = Registry.LocalMachine.OpenSubKey("System\\CurrentControlSet\\Services\\EventLog\\" + e.Log);
        if (regEventLog != null)
        {
            Object temp = regEventLog.GetValue("File");
            if (temp != null)
            {
                Console.WriteLine("  Log file path = \t {0}", temp.ToString());
                FileInfo file = new FileInfo(temp.ToString());

                // Get the current size of the event log file.
                if (file.Exists)
                {
                    sizeKB = file.Length / 1024;
                    if ((file.Length % 1024) != 0)
                    {
                        sizeKB++;
                    }
                    Console.WriteLine("  Current size = \t {0} kilobytes", sizeKB.ToString());
                }
            }
            else
            {
                Console.WriteLine("  Log file path = \t <not set>");
            }
        }

        // Display the maximum size and overflow settings.

        sizeKB = e.MaximumKilobytes;
        Console.WriteLine("  Maximum size = \t {0} kilobytes", sizeKB.ToString());
        Console.WriteLine("  Overflow setting = \t {0}", e.OverflowAction.ToString());

        switch (e.OverflowAction)
        {
            case OverflowAction.OverwriteOlder:
                Console.WriteLine("\t Entries are retained a minimum of {0} days.",
                    e.MinimumRetentionDays);
                break;
            case OverflowAction.DoNotOverwrite:
                Console.WriteLine("\t Older entries are not overwritten.");
                break;
            case OverflowAction.OverwriteAsNeeded:
                Console.WriteLine("\t If number of entries equals max size limit, a new event log entry overwrites the oldest entry.");
                break;
            default:
                break;
        }
    }
}
Shared Sub DisplayEventLogProperties()

   ' Iterate through the current set of event log files,
   ' displaying the property settings for each file.
   Dim eventLogs As EventLog() = EventLog.GetEventLogs()

   Dim e As EventLog
   For Each e In  eventLogs
      Dim sizeKB As Int64 = 0

      Console.WriteLine()
      Console.WriteLine("{0}:", e.LogDisplayName)
      Console.WriteLine("  Log name = " + ControlChars.Tab _
                          + ControlChars.Tab + " {0}", e.Log)

      Console.WriteLine("  Number of event log entries = {0}", e.Entries.Count.ToString())

      ' Determine if there is an event log file for this event log.
      Dim regEventLog As RegistryKey
      regEventLog = Registry.LocalMachine.OpenSubKey( _
             ("System\CurrentControlSet\Services\EventLog\" + e.Log))

      If Not (regEventLog Is Nothing) Then

         Dim temp As Object = regEventLog.GetValue("File")
         If Not (temp Is Nothing) Then

            Console.WriteLine("  Log file path = " + ControlChars.Tab _
                                  + " {0}", temp.ToString())
            Dim file As New FileInfo(temp.ToString())

            ' Get the current size of the event log file.
            If file.Exists Then
               sizeKB = file.Length / 1024
               If file.Length Mod 1024 <> 0 Then
                  sizeKB += 1
               End If
               Console.WriteLine("  Current size = " + ControlChars.Tab _
                          + " {0} kilobytes", sizeKB.ToString())
            End If
         Else
            Console.WriteLine("  Log file path = " + ControlChars.Tab _
                             + " <not set>")
         End If
      End If

      ' Display the maximum size and overflow settings.
      sizeKB = e.MaximumKilobytes
      Console.WriteLine("  Maximum size = " + ControlChars.Tab _
                         + " {0} kilobytes", sizeKB.ToString())
      Console.WriteLine("  Overflow setting = " + ControlChars.Tab _
                         + " {0}", e.OverflowAction.ToString())

      Select Case e.OverflowAction
         Case OverflowAction.OverwriteOlder
            Console.WriteLine(ControlChars.Tab + _
                 " Entries are retained a minimum of {0} days.", _
                 e.MinimumRetentionDays)
         Case OverflowAction.DoNotOverwrite
            Console.WriteLine(ControlChars.Tab + _
                 " Older entries are not overwritten.")
         Case OverflowAction.OverwriteAsNeeded
            Console.WriteLine(ControlChars.Tab + _
                 " If number of entries equals max size limit, a new event log entry overwrites the oldest entry.")
         Case Else
      End Select

   Next e

End Sub

Remarques

Le tableau d’objets est un instantané de tous les journaux d’événements EventLog sur l’ordinateur local lorsque l’appel est GetEventLogs effectué. Il ne s’agit pas d’une collection dynamique, ce qui ne reflète pas la suppression ou la création de journaux en temps réel. Vous devez vérifier qu’un journal dans le tableau existe avant de lire ou d’y écrire. Le tableau inclut généralement au moins trois journaux : Application, Système et Sécurité. Si vous avez créé des journaux personnalisés sur l’ordinateur local, ils apparaissent également dans le tableau.

Pour récupérer la liste des journaux d’événements, vous devez disposer des autorisations de Registre appropriées. Ces autorisations sont identiques à celles requises pour appeler Exists et SourceExists.

Voir aussi

S’applique à