EventLog.GetEventLogs Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skapar en matris med händelseloggarna.
Överlagringar
| Name | Description |
|---|---|
| GetEventLogs(String) |
Söker efter alla händelseloggar på den angivna datorn och skapar en matris med EventLog objekt som innehåller listan. |
| GetEventLogs() |
Söker efter alla händelseloggar på den lokala datorn och skapar en matris med EventLog objekt som innehåller listan. |
GetEventLogs(String)
- Källa:
- EventLog.cs
- Källa:
- EventLog.cs
- Källa:
- EventLog.cs
- Källa:
- EventLog.cs
- Källa:
- EventLog.cs
- Källa:
- EventLog.cs
- Källa:
- EventLog.cs
- Källa:
- EventLog.cs
Söker efter alla händelseloggar på den angivna datorn och skapar en matris med EventLog objekt som innehåller listan.
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()
Parametrar
- machineName
- String
Den dator där du vill söka efter händelseloggar.
Returer
En matris av typen EventLog som representerar loggarna på den angivna datorn.
Undantag
Parametern machineName är ett ogiltigt datornamn.
Du har inte läsbehörighet till registret.
-eller-
Det finns ingen händelseloggtjänst på datorn.
Exempel
I följande exempel hämtas en lista över loggar på datorn "myServer". Sedan matas namnet på varje logg ut.
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
Kommentarer
Matrisen med EventLog objekt är en ögonblicksbild av alla händelseloggar på datorn som anges av parametern machineName när anropet till GetEventLogs görs. Det här är inte en dynamisk samling, så den återspeglar inte borttagningen eller skapandet av loggar i realtid. Du bör kontrollera att det finns en logg i matrisen innan du läser eller skriver till den. Matrisen innehåller vanligtvis minst tre loggar: Program, System och Säkerhet. Om du har skapat anpassade loggar på den angivna datorn visas de även i matrisen.
GetEventLogs är en static metod, så den kan anropas på EventLog själva klassen. Det är inte nödvändigt att skapa en instans av ett EventLog objekt för att göra ett anrop till metoden.
Om du vill hämta listan över händelseloggar måste du ha rätt registerbehörigheter. Dessa behörigheter är identiska med de som krävs för att anropa Exists och SourceExists.
Se även
Gäller för
GetEventLogs()
- Källa:
- EventLog.cs
- Källa:
- EventLog.cs
- Källa:
- EventLog.cs
- Källa:
- EventLog.cs
- Källa:
- EventLog.cs
- Källa:
- EventLog.cs
- Källa:
- EventLog.cs
- Källa:
- EventLog.cs
Söker efter alla händelseloggar på den lokala datorn och skapar en matris med EventLog objekt som innehåller listan.
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()
Returer
En matris av typen EventLog som representerar loggarna på den lokala datorn.
Undantag
Du har inte läsbehörighet till registret.
-eller-
Det finns ingen händelseloggtjänst på datorn.
Exempel
I följande exempel räknas de händelseloggar som definierats på den lokala datorn upp och konfigurationsinformation visas för varje händelselogg.
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
Kommentarer
Matrisen med EventLog objekt är en ögonblicksbild av alla händelseloggar på den lokala datorn när anropet till GetEventLogs görs. Det här är inte en dynamisk samling, så den återspeglar inte borttagningen eller skapandet av loggar i realtid. Du bör kontrollera att det finns en logg i matrisen innan du läser eller skriver till den. Matrisen innehåller vanligtvis minst tre loggar: Program, System och Säkerhet. Om du har skapat anpassade loggar på den lokala datorn visas de även i matrisen.
Om du vill hämta listan över händelseloggar måste du ha rätt registerbehörigheter. Dessa behörigheter är identiska med de som krävs för att anropa Exists och SourceExists.