Freigeben über


EventLog.Log-Eigenschaft

Ruft den Namen des Protokolls ab, aus dem gelesen bzw. in das geschrieben werden soll, oder legt diesen fest.

Namespace: System.Diagnostics
Assembly: System (in system.dll)

Syntax

'Declaration
Public Property Log As String
'Usage
Dim instance As EventLog
Dim value As String

value = instance.Log

instance.Log = value
public string Log { get; set; }
public:
property String^ Log {
    String^ get ();
    void set (String^ value);
}
/** @property */
public String get_Log ()

/** @property */
public void set_Log (String value)
public function get Log () : String

public function set Log (value : String)

Eigenschaftenwert

Der Name des Protokolls. Dies kann das Anwendungs-, das System- bzw. das Sicherheitsprotokoll oder ein benutzerdefinierter Protokollname sein. Der Standardwert ist eine leere Zeichenfolge ("").

Hinweise

Drei Protokolldateien sind auf dem Server standardmäßig vorhanden: Anwendungs-, System- und Sicherheitsprotokoll. Anwendungen und Dienste verwenden die Anwendungsprotokolldatei. Gerätetreiber verwenden die Systemprotokolldatei. Das System generiert Erfolgs- und Fehlerüberwachungsereignisse im Sicherheitsprotokoll, wenn die Überwachung aktiviert ist. Wenn Sie andere Anwendungen, z. B. Active Directory für Windows-Server, installiert haben, sind möglicherweise andere Standardprotokolldateien vorhanden. Sie können auch zusätzliche benutzerdefinierte Protokolldateien auf einem lokalen oder Remotecomputer erstellen. Mit benutzerdefinierten Protokollen können Sie die Einträge genauer aufschlüsseln, als dies durch die Komponenten der Fall ist, die Ereignisse in das Standardanwendungsprotokoll schreiben.

Hinweis

Protokollnamen sind auf 8 Zeichen begrenzt. Je nach System bezeichnen MyLogSample1 und MyLogSample2 das gleiche Protokoll.

Beim Schreiben in ein Ereignisprotokoll ist die Angabe der Log-Eigenschaft nicht ausreichend. Sie müssen der Ereignisprotokollressource eine Source-Eigenschaft zuordnen, um sie mit einem bestimmten Protokoll zu verbinden. Die Angabe einer Source ist für das Lesen eines Protokolls nicht erforderlich, in der Registrierung des Servers muss der Ereignisprotokollressource jedoch eine Ereignisquelle zugeordnet sein. Sie können auch nur den Log-Namen und MachineName-(Name des Servercomputers) angeben, um aus dem Protokoll zu lesen.

Hinweis

Sie müssen keinen MachineName angeben, wenn Sie eine Verbindung mit einem Protokoll herstellen. Wenn Sie keinen MachineName angeben, wird der lokale Computer (".") verwendet.

Ohne Angabe der Source-Eigenschaft gibt ein Aufruf von Log eine leere Zeichenfolge zurück, wenn Log nicht explizit festgelegt wurde (durch Festlegen der Log-Eigenschaft oder durch den Konstruktor). Wenn die Source angegeben wurde, gibt Log den Namen des Protokolls zurück, mit dem die Quelle registriert wurde.

Eine Quelle kann immer nur mit einem Protokoll registriert sein. Wenn die Source-Eigenschaft für eine Instanz von EventLog festgelegt wurde, können Sie die Log-Eigenschaft für dieses EventLog nicht ändern, ohne den Wert von Source zu ändern oder zuvor DeleteEventSource aufzurufen. Wenn Sie die Log-Eigenschaft ändern, nachdem die Source-Eigenschaft festgelegt wurde, wird durch das Schreiben eines Protokolleintrags eine Ausnahme ausgelöst.

Das Betriebssystem speichert Ereignisprotokolle als Dateien. Wenn Sie ein neues Ereignisprotokoll mit EventLogInstaller oder CreateEventSource erstellen, wird die zugeordnete Datei auf dem angegebenen Computer im Verzeichnis %SystemRoot%\System32\Config gespeichert. Der Dateiname setzt sich aus den ersten acht Zeichen der Log-Eigenschaft und der Dateinamenerweiterung ".evt" zusammen.

Sie können kein neues Protokoll erstellen, wenn Sie nur die Log-Eigenschaft verwenden, ohne eine Quelle für das Protokoll anzugeben. Rufen Sie CreateEventSource mit einen neuen Protokollnamen als Parameter und dann DeleteEventSource auf. Der Hauptverwendungszweck liegt jedoch im Erstellen neuer anwendungsspezifischer Protokolle, in die Einträge geschrieben werden, oder im Lesen vorhandener Protokolle.

Wenn der Log-Wert geändert wird, wird das Ereignisprotokoll geschlossen, und alle Ereignishandles werden freigegeben.

Warnung

Wenn Sie die Log-Eigenschaft auf den Namen eines nicht vorhandenen Protokolls festlegen, fügt das System das EventLog an das Anwendungsprotokoll an, ohne Sie zu warnen, dass ein anderes Protokoll als das angegebene verwendet wird.

Beispiel

Im folgenden Beispiel werden Einträge aus dem Ereignisprotokoll "NewEventLog" auf dem lokalen Computer gelesen.

Imports System
Imports System.Diagnostics
Imports Microsoft.VisualBasic

Class MySample
    Public Shared Sub Main()
        Dim myNewLog As New EventLog()
        myNewLog.Log = "NewEventLog"
        Dim entry As EventLogEntry
        For Each entry In  myNewLog.Entries
            Console.WriteLine((ControlChars.Tab & "Entry: " & entry.Message))
        Next entry
    End Sub 'Main
End Class 'MySample
using System;
using System.Diagnostics;
              
class MySample{

    public static void Main(){

        EventLog myNewLog = new EventLog();
        myNewLog.Log = "NewEventLog";                      
        foreach(EventLogEntry entry in myNewLog.Entries){
            Console.WriteLine("\tEntry: " + entry.Message);
        }    
    }       
}
   
#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
int main()
{
   EventLog^ myNewLog = gcnew EventLog;
   myNewLog->Log = "NewEventLog";
   System::Collections::IEnumerator^ myEnum = myNewLog->Entries->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      EventLogEntry^ entry = safe_cast<EventLogEntry^>(myEnum->Current);
      Console::WriteLine( "\tEntry: {0}", entry->Message );
   }
}
import System.*;
import System.Diagnostics.*;
import System.Collections.*;

class MySample
{
    public static void main(String[] args)
    {
        EventLog myNewLog = new EventLog();
        myNewLog.set_Log("NewEventLog");       
        EventLogEntry entry;
        IEnumerator objEnum = myNewLog.get_Entries().GetEnumerator();
        while (objEnum.MoveNext()) {
            entry = (EventLogEntry)objEnum.get_Current();
            Console.WriteLine("\tEntry: " + entry.get_Message());
        }
    } //main
} //MySample

.NET Framework-Sicherheit

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

EventLog-Klasse
EventLog-Member
System.Diagnostics-Namespace
MachineName
Source
EventLog.Entries-Eigenschaft
Exists
Delete
CreateEventSource
EventLogEntryCollection