Freigeben über


EventLog.Log Eigenschaft

Definition

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

public:
 property System::String ^ Log { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.SettingsBindable(true)]
public string Log { get; set; }
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.LogConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Log { get; set; }
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.LogConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Log { get; set; }
[System.ComponentModel.SettingsBindable(true)]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.LogConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Log { get; set; }
[<System.ComponentModel.SettingsBindable(true)>]
member this.Log : string with get, set
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.LogConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Log : string with get, set
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.LogConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Log : string with get, set
[<System.ComponentModel.SettingsBindable(true)>]
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.LogConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Log : string with get, set
Public Property Log As String

Eigenschaftswert

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

Attribute

Beispiele

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

#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 );
   }
}
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);
        }
    }
}
Imports System.Diagnostics

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
End Class

Hinweise

Auf dem Server sind standardmäßig drei Protokolldateien vorhanden: Application, System und Security. 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 installiert haben, z. B. Active Directory auf Windows-Servern, gibt es möglicherweise andere Standardprotokolldateien. Darüber hinaus können Sie benutzerdefinierte Protokolldateien auf einem lokalen oder Remotecomputer erstellen. Mit benutzerdefinierten Protokollen können Sie Ihre Einträge ausführlicher organisieren, als dies beim Schreiben von Ereignissen in das Standardanwendungsprotokoll zulässig ist.

Hinweis

Protokollnamen sind auf acht Zeichen beschränkt. Gemäß dem System sind MyLogSample1 und MyLogSample2 dasselbe Protokoll.

Wenn Sie in ein Ereignisprotokoll schreiben, reicht es nicht aus, die Log -Eigenschaft anzugeben. Sie müssen Ihrer Ereignisprotokollressource eine Source Eigenschaft zuordnen, um sie mit einem bestimmten Protokoll zu verbinden. Es ist nicht erforderlich, eine Source anzugeben, wenn nur aus einem Protokoll gelesen wird, aber eine Ereignisquelle muss der Ereignisprotokollressource in der Registrierung des Servers zugeordnet sein. Sie können nur den Log Namen und MachineName (Servercomputernamen) angeben, der daraus gelesen werden soll.

Hinweis

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

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

Eine Quelle kann jeweils nur für ein Protokoll registriert werden. Wenn die Source -Eigenschaft für eine instance von EventLogfestgelegt wurde, können Sie die Log -Eigenschaft nicht ändern, EventLog ohne den Wert von Source zu ändern oder zuerst aufzurufenDeleteEventSource. Wenn Sie die Log Eigenschaft ändern, nachdem die Eigenschaft festgelegt wurde, löst das Source Schreiben eines Protokolleintrags eine Ausnahme aus.

Das Betriebssystem speichert Ereignisprotokolle als Dateien. Wenn Sie EventLogInstaller oder CreateEventSource verwenden, um ein neues Ereignisprotokoll zu erstellen, wird die zugeordnete Datei im Verzeichnis %SystemRoot%\System32\Config auf dem angegebenen Computer gespeichert. Der Dateiname wird festgelegt, indem die ersten 8 Zeichen der Log Eigenschaft mit der Dateinamenerweiterung ".evt" angefügt werden.

Sie können kein neues Protokoll mit der Log -Eigenschaft allein erstellen (ohne eine Quelle für das Protokoll anzugeben). Sie können aufrufen CreateEventSource, einen neuen Protokollnamen als Parameter übergeben und dann aufrufen DeleteEventSource. Die Absicht besteht jedoch in der Regel darin, neue anwendungsspezifische Protokolle zu erstellen (und in diese zu schreiben) oder aus vorhandenen Protokollen zu lesen.

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

Achtung

Wenn Sie die Log -Eigenschaft auf den Namen eines Protokolls festlegen, das nicht vorhanden ist, fügt das System den EventLog an das Anwendungsprotokoll an, warnt Sie jedoch nicht, dass ein anderes Protokoll als das von Ihnen angegebene verwendet wird.

Gilt für:

Weitere Informationen