EventLog.WriteEntry Methode

Definition

Schreibt einen Eintrag in das Ereignisprotokoll.

Überlädt

WriteEntry(String, String, EventLogEntryType, Int32, Int16, Byte[])

Schreibt einen Eintrag mit dem angegebenen Meldungstext, dem von der Anwendung definierten Ereignisbezeichner und der Kategorie in das Ereignisprotokoll, wobei die angegebene registrierte Ereignisquelle verwendet wird, und fügt Binärdaten an die Meldung an.

WriteEntry(String, String, EventLogEntryType, Int32, Int16)

Schreibt einen Eintrag mit dem angegebenen Meldungstext, dem von der Anwendung definierten Ereignisbezeichner und der Kategorie in das Ereignisprotokoll, wobei die angegebene registrierte Ereignisquelle verwendet wird. Anhand der category kann die Ereignisanzeige Ereignisse im Protokoll filtern.

WriteEntry(String, EventLogEntryType, Int32, Int16, Byte[])

Schreibt einen Eintrag mit dem angegebenen Meldungstext, dem von der Anwendung definierten Ereignisbezeichner und der Kategorie in das Ereignisprotokoll und fügt Binärdaten an die Meldung an.

WriteEntry(String, String, EventLogEntryType, Int32)

Schreibt einen Eintrag mit dem angegebenen Meldungstext und dem von der Anwendung definierten Ereignisbezeichner in das Ereignisprotokoll, wobei die angegebene registrierte Ereignisquelle verwendet wird.

WriteEntry(String, EventLogEntryType, Int32, Int16)

Schreibt einen Eintrag mit dem angegebenen Meldungstext, dem von der Anwendung definierten Ereignisbezeichner und der Kategorie in das Ereignisprotokoll.

WriteEntry(String, EventLogEntryType)

Schreibt einen Eintrag für einen Fehler, eine Warnung, eine Information, eine Erfolgs- oder Fehlerüberwachung mit dem angegebenen Meldungstext in das Ereignisprotokoll.

WriteEntry(String, EventLogEntryType, Int32)

Schreibt einen Eintrag mit dem angegebenen Meldungstext und dem von der Anwendung definierten Ereignisbezeichner in das Ereignisprotokoll.

WriteEntry(String, String)

Schreibt einen Eintrag vom Typ Information mit dem angegebenen Meldungstext in das Ereignisprotokoll, wobei die angegebene registrierte Ereignisquelle verwendet wird.

WriteEntry(String)

Schreibt einen Eintrag vom Typ Information mit dem angegebenen Meldungstext in das Ereignisprotokoll.

WriteEntry(String, String, EventLogEntryType)

Schreibt einen Eintrag für einen Fehler, eine Warnung, eine Information oder eine Erfolgs- oder Fehlerüberwachung mit dem angegebenen Meldungstext in das Ereignisprotokoll, wobei die angegebene registrierte Ereignisquelle verwendet wird.

WriteEntry(String, String, EventLogEntryType, Int32, Int16, Byte[])

Schreibt einen Eintrag mit dem angegebenen Meldungstext, dem von der Anwendung definierten Ereignisbezeichner und der Kategorie in das Ereignisprotokoll, wobei die angegebene registrierte Ereignisquelle verwendet wird, und fügt Binärdaten an die Meldung an.

public:
 static void WriteEntry(System::String ^ source, System::String ^ message, System::Diagnostics::EventLogEntryType type, int eventID, short category, cli::array <System::Byte> ^ rawData);
public static void WriteEntry (string source, string message, System.Diagnostics.EventLogEntryType type, int eventID, short category, byte[] rawData);
static member WriteEntry : string * string * System.Diagnostics.EventLogEntryType * int * int16 * byte[] -> unit
Public Shared Sub WriteEntry (source As String, message As String, type As EventLogEntryType, eventID As Integer, category As Short, rawData As Byte())

Parameter

source
String

Die Quelle, unter der die Anwendung auf dem angegebenen Computer registriert ist.

message
String

Die in das Ereignisprotokoll zu schreibende Zeichenfolge.

type
EventLogEntryType

Einer der EventLogEntryType-Werte.

eventID
Int32

Der anwendungsspezifische Bezeichner für das Ereignis.

category
Int16

Die der Meldung zugeordnete anwendungsspezifische Unterkategorie.

rawData
Byte[]

Ein Bytearray mit den dem Eintrag zugeordneten Binärdaten.

Ausnahmen

Der source-Wert ist eine leere Zeichenfolge ("").

- oder - Der source-Wert ist null.

- oder - eventID ist kleiner als null oder größer als UInt16.MaxValue.

- oder - Die Meldungszeichenfolge ist länger als 31.839 Bytes (32.766 Bytes auf Windows-Betriebssystemen vor Windows Vista).

- oder - Der Quellenname führt dazu, dass der Registrierungsschlüsselpfad länger als 254 Zeichen ist.

Der Registrierungsschlüssel für das Ereignisprotokoll konnte nicht geöffnet werden.

Das Betriebssystem hat beim Schreiben des Ereigniseintrags in das Ereignisprotokoll einen Fehler gemeldet. Es ist kein Windows-Fehlercode verfügbar.

Beispiele

//Create a byte array for binary data to associate with the entry.
array<Byte>^myByte = gcnew array<Byte>(10);
//Populate the byte array with simulated data.
for ( int i = 0; i < 10; i++ )
{
   myByte[ i ] = (Byte)(i % 2);
}
//Write an entry to the event log that includes associated binary data.
Console::WriteLine( "Write from second source " );
EventLog::WriteEntry( "SecondSource", "Writing warning to event log.",
   EventLogEntryType::Error, myEventID, myCategory, myByte );
//Create a byte array for binary data to associate with the entry.
byte[] myByte = new byte[10];
//Populate the byte array with simulated data.
for (int i = 0; i < 10; i++)
{
    myByte[i] = (byte)(i % 2);
}
// Write an entry to the event log that includes associated binary data.
Console.WriteLine("Write from second source ");
EventLog.WriteEntry("SecondSource", "Writing warning to event log.",
                     EventLogEntryType.Error, myEventID, myCategory, myByte);
' Create a byte array for binary data to associate with the entry.
Dim myByte(9) As Byte
Dim i As Integer
' Populate the byte array with simulated data.
For i = 0 To 9
    myByte(i) = CByte(i Mod 2)
Next i
' Write an entry to the event log that includes associated binary data.
Console.WriteLine("Write from second source ")
EventLog.WriteEntry("SecondSource", "Writing warning to event log.", _
                     EventLogEntryType.Error, myEventID, myCategory, myByte)

Hinweise

Verwenden Sie diese Methode, um anwendungsdefinierte ereignisspezifische Daten in das Ereignisprotokoll zu schreiben, indem Sie eine bereits als Ereignisquelle für das entsprechende Protokoll registrierte Quelle verwenden. Die Ereignisanzeige interpretiert diese Daten nicht; sie zeigt nur rohe Daten in einem kombinierten Hexadezimal- und Textformat an. Verwenden Sie ereignisspezifische Daten sparsam; fügen Sie es nur ein, wenn Sie sicher sind, dass es nützlich ist. Sie können auch ereignisspezifische Daten verwenden, um Informationen zu speichern, die die Anwendung unabhängig vom Ereignisanzeige verarbeiten kann. Sie können beispielsweise einen Viewer speziell für Ihre Ereignisse schreiben oder ein Programm schreiben, das die Protokolldatei überprüft und Berichte erstellt, die Informationen aus den ereignisspezifischen Daten enthalten.

Zusätzlich zu den Binärdaten können Sie eine anwendungsdefinierte Kategorie und einen anwendungsspezifischen Ereignisbezeichner angeben. Die Ereignisanzeige verwendet die Kategorie zum Filtern von Ereignissen, die von einer Ereignisquelle geschrieben wurden. Die Ereignisanzeige können die Kategorie als numerischer Wert anzeigen oder die Kategorie als Ressourcenbezeichner verwenden, um eine lokalisierte Kategoriezeichenfolge anzuzeigen.

Hinweis

Der category Parameter sollte ein positiver Wert sein. Negative Kategoriewerte werden als ergänzende positive Zahl im Ereignisanzeige angezeigt. Beispielsweise wird ein -10 als 65.526 angezeigt, ein -1 als 65.535.

Um lokalisierte Kategoriezeichenfolgen im Ereignisanzeige anzuzeigen, müssen Sie eine Ereignisquelle verwenden, die mit einer Kategorieressourcedatei konfiguriert ist, und legen Sie den category Wert auf einen Ressourcenbezeichner in der Kategorieressourcendatei fest. Wenn die Ereignisquelle keine konfigurierte Kategorieressourcendatei enthält oder die angegebene category keine Zeichenfolge in der Ressourcendatei der Kategorie indiziert, zeigt die Ereignisanzeige den numerischen Kategoriewert für diesen Eintrag an. Konfigurieren Sie die Kategorieressourcendatei zusammen mit der Anzahl der Kategoriezeichenfolgen in der Ressourcendatei mithilfe EventLogInstaller der EventSourceCreationData Klasse.

Ereignisbezeichner, zusammen mit der Ereignisquelle, identifizieren ein Ereignis eindeutig. Jede Anwendung kann eigene nummerierte Ereignisse und die Beschreibungszeichenfolgen definieren, denen sie zugeordnet sind. Ereignisanzeigen zeigen diese Zeichenfolgenwerte an, um dem Benutzer zu helfen, zu verstehen, was falsch war und welche Aktionen ausgeführt werden sollen.

Schließlich können Sie ein EventLogEntryType Ereignis angeben, das in das Ereignisprotokoll geschrieben wird. Dies type wird durch ein Symbol und Text in der Spalte "Typ" im Ereignisanzeige für ein Protokoll angegeben. Dieser Parameter gibt an, ob der Ereignistyp Fehler, Warnung, Informationen, Erfolgsüberwachung oder Fehlerüberwachung ist.

Sie müssen die Ereignisquelle erstellen und konfigurieren, bevor Sie den ersten Eintrag mit der Quelle schreiben. Erstellen Sie die neue Ereignisquelle während der Installation Ihrer Anwendung. Dadurch kann das Betriebssystem die Liste der registrierten Ereignisquellen und deren Konfiguration aktualisieren. Wenn das Betriebssystem die Liste der Ereignisquellen nicht aktualisiert hat, und Sie versuchen, ein Ereignis mit der neuen Quelle zu schreiben, schlägt der Schreibvorgang fehl. Sie können eine neue Quelle mithilfe einer EventLogInstallerOder mithilfe der CreateEventSource Methode konfigurieren. Sie müssen administrative Rechte auf dem Computer haben, um eine neue Ereignisquelle zu erstellen.

Die Quelle muss entweder für das Schreiben lokalisierter Einträge oder zum Schreiben von direkten Zeichenfolgen konfiguriert werden. Die WriteEntry Methode schreibt die angegebene Zeichenfolge direkt in das Ereignisprotokoll. Sie verwendet keine gebietsschemaierbare Nachrichtenressourcedatei. Verwenden Sie die WriteEvent Methode, um Ereignisse mithilfe einer lokalisierten Nachrichtenressourcedatei zu schreiben.

Wenn Ihre Anwendung Einträge mit Ressourcenbezeichnern und Zeichenfolgenwerten schreibt, müssen Sie zwei separate Quellen registrieren. Konfigurieren Sie beispielsweise eine Quelle mit Ressourcendateien, und verwenden Sie diese Quelle in der Methode, um Einträge mithilfe von Ressourcenbezeichnern in das WriteEvent Ereignisprotokoll zu schreiben. Erstellen Sie dann eine andere Quelle ohne Ressourcendateien, und verwenden Sie diese Quelle in der WriteEntry Methode, um Zeichenfolgen direkt in das Ereignisprotokoll mit dieser Quelle zu schreiben.

Hinweis

Wenn der message Parameter ein NUL-Zeichen enthält, wird die Nachricht im Ereignisprotokoll am NUL-Zeichen beendet.

Die message Zeichenfolge darf %n nicht enthalten, wobei n ein ganzzahliger Wert (z. B. %1) ist, da die Ereignisanzeige sie als Einfügezeichenfolge behandelt. Da eine Internetprotokolladresse, Version 6 (IPv6) diese Zeichensequenz enthalten kann, können Sie keine Ereignismeldung protokollieren, die eine IPv6-Adresse enthält.

Siehe auch

Gilt für:

WriteEntry(String, String, EventLogEntryType, Int32, Int16)

Schreibt einen Eintrag mit dem angegebenen Meldungstext, dem von der Anwendung definierten Ereignisbezeichner und der Kategorie in das Ereignisprotokoll, wobei die angegebene registrierte Ereignisquelle verwendet wird. Anhand der category kann die Ereignisanzeige Ereignisse im Protokoll filtern.

public:
 static void WriteEntry(System::String ^ source, System::String ^ message, System::Diagnostics::EventLogEntryType type, int eventID, short category);
public static void WriteEntry (string source, string message, System.Diagnostics.EventLogEntryType type, int eventID, short category);
static member WriteEntry : string * string * System.Diagnostics.EventLogEntryType * int * int16 -> unit
Public Shared Sub WriteEntry (source As String, message As String, type As EventLogEntryType, eventID As Integer, category As Short)

Parameter

source
String

Die Quelle, unter der die Anwendung auf dem angegebenen Computer registriert ist.

message
String

Die in das Ereignisprotokoll zu schreibende Zeichenfolge.

type
EventLogEntryType

Einer der EventLogEntryType-Werte.

eventID
Int32

Der anwendungsspezifische Bezeichner für das Ereignis.

category
Int16

Die der Meldung zugeordnete anwendungsspezifische Unterkategorie.

Ausnahmen

Der source-Wert ist eine leere Zeichenfolge ("").

- oder - Der source-Wert ist null.

- oder - eventID ist kleiner als null oder größer als UInt16.MaxValue.

- oder - Die Meldungszeichenfolge ist länger als 31.839 Bytes (32.766 Bytes auf Windows-Betriebssystemen vor Windows Vista).

- oder - Der Quellenname führt dazu, dass der Registrierungsschlüsselpfad länger als 254 Zeichen ist.

Der Registrierungsschlüssel für das Ereignisprotokoll konnte nicht geöffnet werden.

Das Betriebssystem hat beim Schreiben des Ereigniseintrags in das Ereignisprotokoll einen Fehler gemeldet. Es ist kein Windows-Fehlercode verfügbar.

Beispiele

int myEventID = 20;
short myCategory = 10;

// Write an informational entry to the event log.
Console::WriteLine( "Write from first source " );
EventLog::WriteEntry( "FirstSource", "Writing warning to event log.",
   EventLogEntryType::Information, myEventID, myCategory );
int myEventID = 20;
short myCategory = 10;
// Write an informational entry to the event log.
Console.WriteLine("Write from first source ");
EventLog.WriteEntry("FirstSource", "Writing warning to event log.",
                     EventLogEntryType.Information, myEventID, myCategory);
Dim myEventID As Integer = 10
Dim myCategory As Short = 20
' Write an informational entry to the event log.
Console.WriteLine("Write from first source ")
EventLog.WriteEntry("FirstSource", "Writing warning to event log.", _
                           EventLogEntryType.Information, myEventID, myCategory)

Hinweise

Verwenden Sie diese Methode, um einen Eintrag mit einem anwendungsdefinierten category Ereignisprotokoll zu schreiben, indem Sie eine Quelle verwenden, die bereits als Ereignisquelle für das entsprechende Protokoll registriert ist. Die Ereignisanzeige verwendet die Kategorie zum Filtern von Ereignissen, die von einer Ereignisquelle geschrieben wurden. Die Ereignisanzeige können die Kategorie als numerischer Wert anzeigen oder die Kategorie als Ressourcenbezeichner verwenden, um eine lokalisierte Kategoriezeichenfolge anzuzeigen.

Hinweis

Der category Parameter sollte ein positiver Wert sein. Negative Kategoriewerte werden als ergänzende positive Zahl im Ereignisanzeige angezeigt. Beispielsweise wird ein -10 als 65.526 angezeigt, ein -1 als 65.535.

Um lokalisierte Kategoriezeichenfolgen im Ereignisanzeige anzuzeigen, müssen Sie eine Ereignisquelle verwenden, die mit einer Kategorieressourcedatei konfiguriert ist, und legen Sie den category Wert auf einen Ressourcenbezeichner in der Kategorieressourcendatei fest. Wenn die Ereignisquelle keine konfigurierte Kategorieressourcendatei enthält oder die angegebene category keine Zeichenfolge in der Ressourcendatei der Kategorie indiziert, zeigt die Ereignisanzeige den numerischen Kategoriewert für diesen Eintrag an. Konfigurieren Sie die Kategorieressourcendatei zusammen mit der Anzahl der Kategoriezeichenfolgen in der Ressourcendatei mithilfe EventLogInstaller der EventSourceCreationData Klasse.

Zusätzlich zur Kategorie können Sie einen Ereignisbezeichner für das Ereignis angeben, das in das Ereignisprotokoll geschrieben wird. Ereignisbezeichner, zusammen mit der Ereignisquelle, identifizieren ein Ereignis eindeutig. Jede Anwendung kann eigene nummerierte Ereignisse und die Beschreibungszeichenfolgen definieren, denen sie zugeordnet sind. Ereignisanzeigen zeigen diese Zeichenfolgenwerte an, um dem Benutzer zu helfen, zu verstehen, was falsch war und welche Aktionen ausgeführt werden sollen.

Schließlich können Sie ein EventLogEntryType Ereignis angeben, das in das Ereignisprotokoll geschrieben wird. Dies type wird durch ein Symbol und Text in der Spalte "Typ" im Ereignisanzeige für ein Protokoll angegeben. Dieser Parameter gibt an, ob der Ereignistyp Fehler, Warnung, Informationen, Erfolgsüberwachung oder Fehlerüberwachung ist.

Sie müssen die Ereignisquelle erstellen und konfigurieren, bevor Sie den ersten Eintrag mit der Quelle schreiben. Erstellen Sie die neue Ereignisquelle während der Installation Ihrer Anwendung. Dadurch kann das Betriebssystem die Liste der registrierten Ereignisquellen und deren Konfiguration aktualisieren. Wenn das Betriebssystem die Liste der Ereignisquellen nicht aktualisiert hat, und Sie versuchen, ein Ereignis mit der neuen Quelle zu schreiben, schlägt der Schreibvorgang fehl. Sie können eine neue Quelle mithilfe einer EventLogInstallerOder mithilfe der CreateEventSource Methode konfigurieren. Sie müssen administrative Rechte auf dem Computer haben, um eine neue Ereignisquelle zu erstellen.

Die Quelle muss entweder für das Schreiben lokalisierter Einträge oder zum Schreiben von direkten Zeichenfolgen konfiguriert werden. Die WriteEntry Methode schreibt die angegebene Zeichenfolge direkt in das Ereignisprotokoll. Sie verwendet keine gebietsschemaierbare Nachrichtenressourcedatei. Verwenden Sie die WriteEvent Methode, um Ereignisse mithilfe einer lokalisierten Nachrichtenressourcedatei zu schreiben.

Wenn Ihre Anwendung Einträge mit Ressourcenbezeichnern und Zeichenfolgenwerten schreibt, müssen Sie zwei separate Quellen registrieren. Konfigurieren Sie beispielsweise eine Quelle mit Ressourcendateien, und verwenden Sie diese Quelle in der Methode, um Einträge mithilfe von Ressourcenbezeichnern in das WriteEvent Ereignisprotokoll zu schreiben. Erstellen Sie dann eine andere Quelle ohne Ressourcendateien, und verwenden Sie diese Quelle in der WriteEntry Methode, um Zeichenfolgen direkt in das Ereignisprotokoll mit dieser Quelle zu schreiben.

Hinweis

Wenn der Parameter ein NUL-Zeichen enthält, wird die message Nachricht im Ereignisprotokoll am NUL-Zeichen beendet.

Die message Zeichenfolge kann % n nicht enthalten, wobei n ein ganzzahliger Wert ist (z. B. %1), da die Ereignisanzeige sie als Einfügezeichenfolge behandelt. Da eine Internetprotokolladresse (IPv6) diese Zeichensequenz enthalten kann, können Sie keine Ereignisnachricht protokollieren, die eine IPv6-Adresse enthält.

Siehe auch

Gilt für:

WriteEntry(String, EventLogEntryType, Int32, Int16, Byte[])

Schreibt einen Eintrag mit dem angegebenen Meldungstext, dem von der Anwendung definierten Ereignisbezeichner und der Kategorie in das Ereignisprotokoll und fügt Binärdaten an die Meldung an.

public:
 void WriteEntry(System::String ^ message, System::Diagnostics::EventLogEntryType type, int eventID, short category, cli::array <System::Byte> ^ rawData);
public void WriteEntry (string message, System.Diagnostics.EventLogEntryType type, int eventID, short category, byte[] rawData);
member this.WriteEntry : string * System.Diagnostics.EventLogEntryType * int * int16 * byte[] -> unit
Public Sub WriteEntry (message As String, type As EventLogEntryType, eventID As Integer, category As Short, rawData As Byte())

Parameter

message
String

Die in das Ereignisprotokoll zu schreibende Zeichenfolge.

type
EventLogEntryType

Einer der EventLogEntryType-Werte.

eventID
Int32

Der anwendungsspezifische Bezeichner für das Ereignis.

category
Int16

Die der Meldung zugeordnete anwendungsspezifische Unterkategorie.

rawData
Byte[]

Ein Bytearray mit den dem Eintrag zugeordneten Binärdaten.

Ausnahmen

Die Source-Eigenschaft von EventLog wurde nicht festgelegt.

- oder - Die Methode hat versucht, eine neue Ereignisquelle zu registrieren, der Computername in MachineName ist jedoch ungültig.

- oder - Die Quelle ist bereits für ein anderes Ereignisprotokoll registriert.

- oder - eventID ist kleiner als null oder größer als UInt16.MaxValue.

- oder - Die Meldungszeichenfolge ist länger als 31.839 Bytes (32.766 Bytes auf Windows-Betriebssystemen vor Windows Vista).

- oder - Der Quellenname führt dazu, dass der Registrierungsschlüsselpfad länger als 254 Zeichen ist.

Der Registrierungsschlüssel für das Ereignisprotokoll konnte nicht geöffnet werden.

Das Betriebssystem hat beim Schreiben des Ereigniseintrags in das Ereignisprotokoll einen Fehler gemeldet. Es ist kein Windows-Fehlercode verfügbar.

Beispiele

// Create the source, if it does not already exist.
String^ myLogName = "myNewLog";
if (  !EventLog::SourceExists( "MySource" ) )
{
   EventLog::CreateEventSource( "MySource", myLogName );
   Console::WriteLine( "Creating EventSource" );
}
else
   myLogName = EventLog::LogNameFromSourceName( "MySource", "." );

// Create an EventLog and assign source.
EventLog^ myEventLog = gcnew EventLog;
myEventLog->Source = "MySource";
myEventLog->Log = myLogName;

// Set the 'description' for the event.
String^ myMessage = "This is my event.";
EventLogEntryType myEventLogEntryType = EventLogEntryType::Warning;
int myApplicatinEventId = 1100;
short myApplicatinCategoryId = 1;

// Set the 'data' for the event.
array<Byte>^ myRawData = gcnew array<Byte>(4);
for ( int i = 0; i < 4; i++ )
{
   myRawData[ i ] = 1;
}
Console::WriteLine( "Writing to EventLog.. " );
myEventLog->WriteEntry( myMessage, myEventLogEntryType, myApplicatinEventId, myApplicatinCategoryId, myRawData );
// Create the source, if it does not already exist.
string myLogName = "myNewLog";
if(!EventLog.SourceExists("MySource"))
{
   // An event log source should not be created and immediately used.
   // There is a latency time to enable the source, it should be created
   // prior to executing the application that uses the source.
   // Execute this sample a second time to use the new source.
   EventLog.CreateEventSource("MySource", myLogName);
   Console.WriteLine("Created EventSource");
   Console.WriteLine("Exiting, execute the application a second time to use the source.");
   return;
}
else
   {
       myLogName = EventLog.LogNameFromSourceName("MySource",".");
   }
   // Create an EventLog and assign source.
   EventLog myEventLog = new EventLog();
myEventLog.Source = "MySource";
myEventLog.Log = myLogName;

// Set the 'description' for the event.
string myMessage = "This is my event.";
EventLogEntryType myEventLogEntryType = EventLogEntryType.Warning;
int myApplicatinEventId = 1100;
short myApplicatinCategoryId = 1;

// Set the 'data' for the event.
byte[] myRawData = new byte[4];
for(int i=0;i<4;i++)
{
   myRawData[i]=1;
}
// Write the entry in the event log.
Console.WriteLine("Writing to EventLog.. ");
myEventLog.WriteEntry(myMessage,myEventLogEntryType,
   myApplicatinEventId, myApplicatinCategoryId, myRawData);
' Create the source, if it does not already exist.
dim myLogName as string = "myNewLog"
If Not EventLog.SourceExists("MySource") Then
   EventLog.CreateEventSource("MySource", myLogName)
   Console.WriteLine("Creating EventSource")
else
   myLogName = EventLog.LogNameFromSourceName("MySource",".")
End If

' Create an EventLog and assign source.
Dim myEventLog As New EventLog()
myEventLog.Source = "MySource"
myEventLog.Log = myLogName

' Set the 'description' for the event.
Dim myMessage As String = "This is my event."
Dim myEventLogEntryType As EventLogEntryType = EventLogEntryType.Warning
Dim myApplicatinEventId As Integer = 1100
Dim myApplicatinCategoryId As Short = 1

' Set the 'data' for the event.
Dim myRawData(3) As Byte
Dim i As Integer
For i = 0 To 3
   myRawData(i) = 1
Next i
' Write the entry in the event log.
Console.WriteLine("Writing to EventLog.. ")
myEventLog.WriteEntry(myMessage, myEventLogEntryType, myApplicatinEventId, _
                     myApplicatinCategoryId, myRawData)

Hinweise

Verwenden Sie diese Überladung, um anwendungsdefinierte ereignisspezifische Daten in das Ereignisprotokoll zu schreiben. Die Ereignisanzeige interpretiert diese Daten nicht. Sie zeigt Rohdaten nur in einem kombinierten Hexadezimal- und Textformat an. Verwenden Sie ereignisspezifische Daten sparsam, einschließlich nur dann, wenn Sie sicher sind, dass es für jemanden nützlich ist, der das Problem debuggen kann. Sie können auch ereignisspezifische Daten verwenden, um Informationen zu speichern, die die Anwendung unabhängig von der Ereignisanzeige verarbeiten kann. Sie können beispielsweise einen Viewer speziell für Ihre Ereignisse schreiben oder ein Programm schreiben, das die Protokolldatei überprüft und Berichte erstellt, die Informationen aus den ereignisspezifischen Daten enthalten.

Zusätzlich zu den Binärdaten können Sie eine anwendungsdefinierte Kategorie und einen anwendungsdefinierte Ereignisbezeichner angeben. Die Ereignisanzeige verwendet die Kategorie zum Filtern von Ereignissen, die von einer Ereignisquelle geschrieben wurden. Die Ereignisanzeige können die Kategorie als numerischer Wert anzeigen oder die Kategorie als Ressourcenbezeichner verwenden, um eine lokalisierte Kategoriezeichenfolge anzuzeigen.

Hinweis

Die message Zeichenfolge darf %n nicht enthalten, wobei n ein ganzzahliger Wert (z. B. %1) ist, da die Ereignisanzeige sie als Einfügezeichenfolge behandelt. Da eine Internetprotokolladresse, Version 6 (IPv6) diese Zeichensequenz enthalten kann, können Sie keine Ereignismeldung protokollieren, die eine IPv6-Adresse enthält.

Hinweis

Der category Parameter sollte ein positiver Wert sein. Negative Kategoriewerte werden als ergänzende positive Zahl im Ereignisanzeige angezeigt. Beispielsweise wird ein -10 als 65.526, eine -1 als 65.535 angezeigt.

Um lokalisierte Kategoriezeichenfolgen im Ereignisanzeige anzuzeigen, müssen Sie eine Ereignisquelle verwenden, die mit einer Kategorieressourcendatei konfiguriert ist, und legen Sie den category Wert auf einen Ressourcenbezeichner in der Kategorieressourcendatei fest. Wenn die Ereignisquelle keine konfigurierte Kategorieressourcendatei aufweist oder die angegebene category Zeichenfolge keine Zeichenfolge in der Kategorieressourcendatei indiziert, zeigt die Ereignisanzeige den numerischen Kategoriewert für diesen Eintrag an. Konfigurieren Sie die Kategorieressourcendatei zusammen mit der Anzahl der Kategoriezeichenfolgen in der Ressourcendatei mithilfe EventLogInstaller der EventSourceCreationData Klasse.

Ereignisbezeichner sowie die Ereignisquelle identifizieren ein Ereignis eindeutig. Jede Anwendung kann eigene nummerierte Ereignisse und die Beschreibungszeichenfolgen definieren, denen sie zugeordnet sind. Ereignisanzeigen zeigen diese Zeichenfolgenwerte an, um dem Benutzer zu helfen, zu verstehen, was falsch war und welche Aktionen ausgeführt werden sollen.

Schließlich können Sie ein EventLogEntryType Ereignis angeben, das in das Ereignisprotokoll geschrieben wird. Dies type wird durch ein Symbol und Text in der Spalte "Typ" in der Ereignisanzeige für ein Protokoll angegeben. Dieser Parameter gibt an, ob der Ereignistyp Fehler, Warnung, Informationen, Erfolgsüberwachung oder Fehlerüberwachung ist.

Sie müssen die Source Eigenschaft für Ihre EventLog Komponente festlegen, bevor Sie Einträge in das Protokoll schreiben können. Sie müssen die Ereignisquelle erstellen und konfigurieren, bevor Sie den ersten Eintrag mit der Quelle schreiben.

Erstellen Sie die neue Ereignisquelle während der Installation Ihrer Anwendung. Auf diese Weise kann das Betriebssystem die Liste der registrierten Ereignisquellen und deren Konfiguration aktualisieren. Wenn das Betriebssystem die Liste der Ereignisquellen nicht aktualisiert hat und Sie versuchen, ein Ereignis mit der neuen Quelle zu schreiben, schlägt der Schreibvorgang fehl. Sie können eine neue Quelle mithilfe einer EventLogInstallerOder mithilfe der CreateEventSource Methode konfigurieren. Sie müssen über Administratorrechte auf dem Computer verfügen, um eine neue Ereignisquelle zu erstellen.

Wenn die in der Source Eigenschaft dieser EventLog Instanz angegebene Quelle nicht auf dem Computer registriert ist, an den Ihre Komponente schreibt, WriteEntry ruft die Quelle auf CreateEventSource und registriert sie.

Hinweis

Wenn Sie keine Instanz angeben MachineName EventLog , bevor Sie eine Instanz aufrufen CreateEventSource oder WriteEntryangeben, wird der lokale Computer (".") angenommen.

Wenn das System den Source Aufruf durch einen Aufruf WriteEntry registrieren muss und die Log Eigenschaft für Ihre EventLog Instanz nicht festgelegt wurde, wird das Protokoll standardmäßig im Anwendungsprotokoll gespeichert.

Hinweis

Viele oben aufgeführte Ausnahmen werden durch Fehler generiert, die während des Registrierungsprozesses Sourceausgelöst wurden.

Die Quelle muss entweder für das Schreiben lokalisierter Einträge oder für das Schreiben von direkten Zeichenfolgen konfiguriert werden. Die WriteEntry Methode schreibt die angegebene Zeichenfolge direkt in das Ereignisprotokoll. Sie verwendet keine lokalisierbare Nachrichtenressourcendatei. Verwenden Sie die WriteEvent Methode, um Ereignisse mithilfe einer lokalisierten Nachrichtenressourcendatei zu schreiben.

Wenn Ihre Anwendung Einträge mit Ressourcenbezeichnern und Zeichenfolgenwerten schreibt, müssen Sie zwei separate Quellen registrieren. Konfigurieren Sie beispielsweise eine Quelle mit Ressourcendateien, und verwenden Sie diese Quelle in der WriteEvent Methode, um Einträge mithilfe von Ressourcenbezeichnern in das Ereignisprotokoll zu schreiben. Erstellen Sie dann eine andere Quelle ohne Ressourcendateien, und verwenden Sie diese Quelle in der WriteEntry Methode, um Zeichenfolgen direkt in das Ereignisprotokoll mit dieser Quelle zu schreiben.

Hinweis

Wenn Sie einen Eintrag auf einen Remotecomputer schreiben, ist der Wert der Nachricht (die Textzeichenfolge) möglicherweise nicht das, was Sie erwarten, wenn der Remotecomputer die .NET Framework nicht ausführt.

Hinweis

Wenn der message Parameter ein NUL-Zeichen enthält, wird die Nachricht im Ereignisprotokoll am NUL-Zeichen beendet.

Siehe auch

Gilt für:

WriteEntry(String, String, EventLogEntryType, Int32)

Schreibt einen Eintrag mit dem angegebenen Meldungstext und dem von der Anwendung definierten Ereignisbezeichner in das Ereignisprotokoll, wobei die angegebene registrierte Ereignisquelle verwendet wird.

public:
 static void WriteEntry(System::String ^ source, System::String ^ message, System::Diagnostics::EventLogEntryType type, int eventID);
public static void WriteEntry (string source, string message, System.Diagnostics.EventLogEntryType type, int eventID);
static member WriteEntry : string * string * System.Diagnostics.EventLogEntryType * int -> unit
Public Shared Sub WriteEntry (source As String, message As String, type As EventLogEntryType, eventID As Integer)

Parameter

source
String

Die Quelle, unter der die Anwendung auf dem angegebenen Computer registriert ist.

message
String

Die in das Ereignisprotokoll zu schreibende Zeichenfolge.

type
EventLogEntryType

Einer der EventLogEntryType-Werte.

eventID
Int32

Der anwendungsspezifische Bezeichner für das Ereignis.

Ausnahmen

Der source-Wert ist eine leere Zeichenfolge ("").

- oder - Der source-Wert ist null.

- oder - eventID ist kleiner als null oder größer als UInt16.MaxValue.

- oder - Die Meldungszeichenfolge ist länger als 31.839 Bytes (32.766 Bytes auf Windows-Betriebssystemen vor Windows Vista).

- oder - Der Quellenname führt dazu, dass der Registrierungsschlüsselpfad länger als 254 Zeichen ist.

Der Registrierungsschlüssel für das Ereignisprotokoll konnte nicht geöffnet werden.

Das Betriebssystem hat beim Schreiben des Ereigniseintrags in das Ereignisprotokoll einen Fehler gemeldet. Es ist kein Windows-Fehlercode verfügbar.

Beispiele

// Create the source, if it does not already exist.
if (  !EventLog::SourceExists( "MySource" ) )
{
   EventLog::CreateEventSource( "MySource", "myNewLog" );
   Console::WriteLine( "Creating EventSource" );
}

// Set the 'description' for the event.
String^ myMessage = "This is my event.";
EventLogEntryType myEventLogEntryType = EventLogEntryType::Warning;
int myApplicationEventId = 100;

// Write the entry in the event log.
Console::WriteLine( "Writing to EventLog.. " );
EventLog::WriteEntry( "MySource", myMessage,
   myEventLogEntryType, myApplicationEventId );
// Create the source, if it does not already exist.
if(!EventLog.SourceExists("MySource"))
{
   // An event log source should not be created and immediately used.
   // There is a latency time to enable the source, it should be created
   // prior to executing the application that uses the source.
   // Execute this sample a second time to use the new source.
   EventLog.CreateEventSource("MySource", "myNewLog");
   Console.WriteLine("Creating EventSource");
   Console.WriteLine("Exiting, execute the application a second time to use the source.");
   // The source is created.  Exit the application to allow it to be registered.
   return;
}

// Set the 'description' for the event.
string myMessage = "This is my event.";
EventLogEntryType myEventLogEntryType = EventLogEntryType.Warning;
int myApplicationEventId = 100;

// Write the entry in the event log.
Console.WriteLine("Writing to EventLog.. ");
EventLog.WriteEntry("MySource",myMessage,
   myEventLogEntryType, myApplicationEventId);
' Create the source, if it does not already exist.
If Not EventLog.SourceExists("MySource") Then
   EventLog.CreateEventSource("MySource", "myNewLog")
   Console.WriteLine("Creating EventSource")
End If

' Set the 'description' for the event.
Dim myMessage As String = "This is my event."
Dim myEventLogEntryType As EventLogEntryType = EventLogEntryType.Warning
Dim myApplicationEventId As Integer = 100

' Write the entry in the event log.
Console.WriteLine("Writing to EventLog.. ")
EventLog.WriteEntry("MySource", myMessage, myEventLogEntryType, myApplicationEventId)

Hinweise

Verwenden Sie diese Methode, um einen Eintrag mit einem anwendungsdefinierten eventID Ereignisprotokoll zu schreiben, indem Sie eine Quelle verwenden, die bereits als Ereignisquelle für das entsprechende Protokoll registriert ist. Die eventID, zusammen mit der Quelle, identifizieren sie ein Ereignis eindeutig. Jede Anwendung kann eigene nummerierte Ereignisse und die Beschreibungszeichenfolgen definieren, denen sie zugeordnet sind. Ereignisanzeigen präsentieren diese Zeichenfolgen dem Benutzer, um dem Benutzer zu helfen, zu verstehen, was falsch war und welche Aktionen ausgeführt werden sollen.

Hinweis

Die message Zeichenfolge darf %n nicht enthalten, wobei n ein ganzzahliger Wert (z. B. %1) ist, da die Ereignisanzeige sie als Einfügezeichenfolge behandelt. Da eine Internetprotokolladresse, Version 6 (IPv6) diese Zeichensequenz enthalten kann, können Sie keine Ereignismeldung protokollieren, die eine IPv6-Adresse enthält.

Zusätzlich zum Ereignisbezeichner können Sie mit dieser Überladung WriteEntry ein EventLogEntryType Ereignis angeben, das in das Ereignisprotokoll geschrieben wird. Dies type wird durch ein Symbol und Text in der Spalte "Typ" in der Ereignisanzeige für ein Protokoll angegeben. Dieser Parameter gibt an, ob der Ereignistyp Fehler, Warnung, Informationen, Erfolgsüberwachung oder Fehlerüberwachung ist.

Sie müssen die Ereignisquelle erstellen und konfigurieren, bevor Sie den ersten Eintrag mit der Quelle schreiben. Erstellen Sie die neue Ereignisquelle während der Installation Ihrer Anwendung. Auf diese Weise kann das Betriebssystem die Liste der registrierten Ereignisquellen und deren Konfiguration aktualisieren. Wenn das Betriebssystem die Liste der Ereignisquellen nicht aktualisiert hat und Sie versuchen, ein Ereignis mit der neuen Quelle zu schreiben, schlägt der Schreibvorgang fehl. Sie können eine neue Quelle mithilfe einer EventLogInstallerOder mithilfe der CreateEventSource Methode konfigurieren. Sie müssen über Administratorrechte auf dem Computer verfügen, um eine neue Ereignisquelle zu erstellen.

Die Quelle muss entweder für das Schreiben lokalisierter Einträge oder für das Schreiben von direkten Zeichenfolgen konfiguriert werden. Die WriteEntry Methode schreibt die angegebene Zeichenfolge direkt in das Ereignisprotokoll. Sie verwendet keine lokalisierbare Nachrichtenressourcendatei. Verwenden Sie die WriteEvent Methode, um Ereignisse mithilfe einer lokalisierten Nachrichtenressourcendatei zu schreiben.

Wenn Ihre Anwendung Einträge mit Ressourcenbezeichnern und Zeichenfolgenwerten schreibt, müssen Sie zwei separate Quellen registrieren. Konfigurieren Sie beispielsweise eine Quelle mit Ressourcendateien, und verwenden Sie diese Quelle in der WriteEvent Methode, um Einträge mithilfe von Ressourcenbezeichnern in das Ereignisprotokoll zu schreiben. Erstellen Sie dann eine andere Quelle ohne Ressourcendateien, und verwenden Sie diese Quelle in der WriteEntry Methode, um Zeichenfolgen direkt in das Ereignisprotokoll mit dieser Quelle zu schreiben.

Hinweis

Wenn der message Parameter ein NUL-Zeichen enthält, wird die Nachricht im Ereignisprotokoll am NUL-Zeichen beendet.

Siehe auch

Gilt für:

WriteEntry(String, EventLogEntryType, Int32, Int16)

Schreibt einen Eintrag mit dem angegebenen Meldungstext, dem von der Anwendung definierten Ereignisbezeichner und der Kategorie in das Ereignisprotokoll.

public:
 void WriteEntry(System::String ^ message, System::Diagnostics::EventLogEntryType type, int eventID, short category);
public void WriteEntry (string message, System.Diagnostics.EventLogEntryType type, int eventID, short category);
member this.WriteEntry : string * System.Diagnostics.EventLogEntryType * int * int16 -> unit
Public Sub WriteEntry (message As String, type As EventLogEntryType, eventID As Integer, category As Short)

Parameter

message
String

Die in das Ereignisprotokoll zu schreibende Zeichenfolge.

type
EventLogEntryType

Einer der EventLogEntryType-Werte.

eventID
Int32

Der anwendungsspezifische Bezeichner für das Ereignis.

category
Int16

Die der Meldung zugeordnete anwendungsspezifische Unterkategorie.

Ausnahmen

Die Source-Eigenschaft von EventLog wurde nicht festgelegt.

- oder - Die Methode hat versucht, eine neue Ereignisquelle zu registrieren, der Computername in MachineName ist jedoch ungültig.

- oder - Die Quelle ist bereits für ein anderes Ereignisprotokoll registriert.

- oder - eventID ist kleiner als null oder größer als UInt16.MaxValue.

- oder - Die Meldungszeichenfolge ist länger als 31.839 Bytes (32.766 Bytes auf Windows-Betriebssystemen vor Windows Vista).

- oder - Der Quellenname führt dazu, dass der Registrierungsschlüsselpfad länger als 254 Zeichen ist.

Der Registrierungsschlüssel für das Ereignisprotokoll konnte nicht geöffnet werden.

Das Betriebssystem hat beim Schreiben des Ereigniseintrags in das Ereignisprotokoll einen Fehler gemeldet. Es ist kein Windows-Fehlercode verfügbar.

Beispiele

// Create an EventLog instance and assign its source.
EventLog^ myLog = gcnew EventLog;
myLog->Source = "ThirdSource";

// Write an informational entry to the event log.
Console::WriteLine( "Write from third source " );
myLog->WriteEntry( "Writing warning to event log.",
   EventLogEntryType::Warning, myEventID, myCategory );
// Create an EventLog instance and assign its source.
EventLog myLog = new EventLog();
myLog.Source = "ThirdSource";

// Write an informational entry to the event log.
Console.WriteLine("Write from third source ");
myLog.WriteEntry("Writing warning to event log.",
                  EventLogEntryType.Warning, myEventID, myCategory);
' Create an EventLog instance and assign its source.
Dim myLog As New EventLog()
myLog.Source = "ThirdSource"

' Write an informational entry to the event log.
Console.WriteLine("Write from third source ")
myLog.WriteEntry("Writing warning to event log.", EventLogEntryType.Warning, _
                     myEventID, myCategory)

Hinweise

Verwenden Sie diese Methode, um einen Eintrag mit einem anwendungsdefinierten category Ereignisprotokoll zu schreiben. Die Ereignisanzeige verwendet die Kategorie zum Filtern von Ereignissen, die von einer Ereignisquelle geschrieben wurden. Die Ereignisanzeige können die Kategorie als numerischer Wert anzeigen oder die Kategorie als Ressourcenbezeichner verwenden, um eine lokalisierte Kategoriezeichenfolge anzuzeigen.

Hinweis

Der category Parameter sollte ein positiver Wert sein. Negative Kategoriewerte werden als ergänzende positive Zahl im Ereignisanzeige angezeigt. Beispielsweise wird ein -10 als 65.526, eine -1 als 65.535 angezeigt.

Hinweis

Die message Zeichenfolge darf %n nicht enthalten, wobei n ein ganzzahliger Wert (z. B. %1) ist, da die Ereignisanzeige sie als Einfügezeichenfolge behandelt. Da eine Internetprotokolladresse, Version 6 (IPv6) diese Zeichensequenz enthalten kann, können Sie keine Ereignismeldung protokollieren, die eine IPv6-Adresse enthält.

Um lokalisierte Kategoriezeichenfolgen im Ereignisanzeige anzuzeigen, müssen Sie eine Ereignisquelle verwenden, die mit einer Kategorieressourcendatei konfiguriert ist, und legen Sie den category Wert auf einen Ressourcenbezeichner in der Kategorieressourcendatei fest. Wenn die Ereignisquelle keine konfigurierte Kategorieressourcendatei aufweist oder die angegebene category Zeichenfolge keine Zeichenfolge in der Kategorieressourcendatei indiziert, zeigt die Ereignisanzeige den numerischen Kategoriewert für diesen Eintrag an. Konfigurieren Sie die Kategorieressourcendatei zusammen mit der Anzahl der Kategoriezeichenfolgen in der Ressourcendatei mithilfe EventLogInstaller der EventSourceCreationData Klasse.

Zusätzlich zur Kategorie können Sie einen Ereignisbezeichner für das Ereignis angeben, das in das Ereignisprotokoll geschrieben wird. Ereignisbezeichner sowie die Ereignisquelle identifizieren ein Ereignis eindeutig. Jede Anwendung kann eigene nummerierte Ereignisse und die Beschreibungszeichenfolgen definieren, denen sie zugeordnet sind. Ereignisanzeigen zeigen diese Zeichenfolgenwerte an, um dem Benutzer zu helfen, zu verstehen, was falsch war und welche Aktionen ausgeführt werden sollen.

Schließlich können Sie ein EventLogEntryType Ereignis angeben, das in das Ereignisprotokoll geschrieben wird. Dies type wird durch ein Symbol und Text in der Spalte "Typ" in der Ereignisanzeige für ein Protokoll angegeben. Dieser Parameter gibt an, ob der Ereignistyp Fehler, Warnung, Informationen, Erfolgsüberwachung oder Fehlerüberwachung ist.

Sie müssen die Source Eigenschaft für Ihre EventLog Komponente festlegen, bevor Sie Einträge in das Protokoll schreiben können. Sie müssen die Ereignisquelle erstellen und konfigurieren, bevor Sie den ersten Eintrag mit der Quelle schreiben.

Erstellen Sie die neue Ereignisquelle während der Installation Ihrer Anwendung. Auf diese Weise kann das Betriebssystem die Liste der registrierten Ereignisquellen und deren Konfiguration aktualisieren. Wenn das Betriebssystem die Liste der Ereignisquellen nicht aktualisiert hat und Sie versuchen, ein Ereignis mit der neuen Quelle zu schreiben, schlägt der Schreibvorgang fehl. Sie können eine neue Quelle mithilfe einer EventLogInstallerOder mithilfe der CreateEventSource Methode konfigurieren. Sie müssen über Administratorrechte auf dem Computer verfügen, um eine neue Ereignisquelle zu erstellen.

Wenn die in der Source Eigenschaft dieser EventLog Instanz angegebene Quelle nicht auf dem Computer registriert ist, an den Ihre Komponente schreibt, WriteEntry ruft die Quelle auf CreateEventSource und registriert sie.

Hinweis

Wenn Sie keine Instanz angeben MachineName EventLog , bevor Sie eine Instanz aufrufen CreateEventSource oder WriteEntryangeben, wird der lokale Computer (".") angenommen.

Wenn das System den Source Aufruf durch einen Aufruf WriteEntry registrieren muss und die Log Eigenschaft für Ihre EventLog Instanz nicht festgelegt wurde, wird das Protokoll standardmäßig im Anwendungsprotokoll gespeichert.

Hinweis

Viele oben aufgeführte Ausnahmen werden durch Fehler generiert, die während des Registrierungsprozesses Sourceausgelöst wurden.

Die Quelle muss entweder für das Schreiben lokalisierter Einträge oder für das Schreiben von direkten Zeichenfolgen konfiguriert werden. Die WriteEntry Methode schreibt die angegebene Zeichenfolge direkt in das Ereignisprotokoll. Sie verwendet keine lokalisierbare Nachrichtenressourcendatei. Verwenden Sie die WriteEvent Methode, um Ereignisse mithilfe einer lokalisierten Nachrichtenressourcendatei zu schreiben.

Wenn Ihre Anwendung Einträge mit Ressourcenbezeichnern und Zeichenfolgenwerten schreibt, müssen Sie zwei separate Quellen registrieren. Konfigurieren Sie beispielsweise eine Quelle mit Ressourcendateien, und verwenden Sie diese Quelle in der WriteEvent Methode, um Einträge mithilfe von Ressourcenbezeichnern in das Ereignisprotokoll zu schreiben. Erstellen Sie dann eine andere Quelle ohne Ressourcendateien, und verwenden Sie diese Quelle in der WriteEntry Methode, um Zeichenfolgen direkt in das Ereignisprotokoll mit dieser Quelle zu schreiben.

Hinweis

Wenn Sie einen Eintrag auf einen Remotecomputer schreiben, ist der Wert der Nachricht (die Textzeichenfolge) möglicherweise nicht das, was Sie erwarten, wenn der Remotecomputer die .NET Framework nicht ausführt.

Hinweis

Wenn der message Parameter ein NUL-Zeichen enthält, wird die Nachricht im Ereignisprotokoll am NUL-Zeichen beendet.

Siehe auch

Gilt für:

WriteEntry(String, EventLogEntryType)

Schreibt einen Eintrag für einen Fehler, eine Warnung, eine Information, eine Erfolgs- oder Fehlerüberwachung mit dem angegebenen Meldungstext in das Ereignisprotokoll.

public:
 void WriteEntry(System::String ^ message, System::Diagnostics::EventLogEntryType type);
public void WriteEntry (string message, System.Diagnostics.EventLogEntryType type);
member this.WriteEntry : string * System.Diagnostics.EventLogEntryType -> unit
Public Sub WriteEntry (message As String, type As EventLogEntryType)

Parameter

message
String

Die in das Ereignisprotokoll zu schreibende Zeichenfolge.

type
EventLogEntryType

Einer der EventLogEntryType-Werte.

Ausnahmen

Die Source-Eigenschaft von EventLog wurde nicht festgelegt.

- oder - Die Methode hat versucht, eine neue Ereignisquelle zu registrieren, der Computername in MachineName ist jedoch ungültig.

- oder - Die Quelle ist bereits für ein anderes Ereignisprotokoll registriert.

- oder - Die Meldungszeichenfolge ist länger als 31.839 Bytes (32.766 Bytes auf Windows-Betriebssystemen vor Windows Vista).

- oder - Der Quellenname führt dazu, dass der Registrierungsschlüsselpfad länger als 254 Zeichen ist.

Der Registrierungsschlüssel für das Ereignisprotokoll konnte nicht geöffnet werden.

Das Betriebssystem hat beim Schreiben des Ereigniseintrags in das Ereignisprotokoll einen Fehler gemeldet. Es ist kein Windows-Fehlercode verfügbar.

Beispiele

Im folgenden Beispiel wird ein Warneintrag in ein Ereignisprotokoll , "MyNewLog", auf dem lokalen Computer geschrieben.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
   
   // Create an EventLog instance and assign its source.
   EventLog^ myLog = gcnew EventLog("MyNewLog");
   myLog->Source = "MyNewLogSource";
   
   // Write an informational entry to the event log.    
   myLog->WriteEntry( "Writing warning to event log.", EventLogEntryType::Warning );
}
using System;
using System.Diagnostics;
using System.Threading;

class MySample1
{

    public static void Main()
    {

        // Create an EventLog instance and assign its source.
        EventLog myLog = new EventLog("MyNewLog");
        myLog.Source = "MyNewLogSource";

        // Write an informational entry to the event log.
        myLog.WriteEntry("Writing warning to event log.", EventLogEntryType.Warning);
    }
}
Option Strict
Option Explicit

Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        ' Create an EventLog instance and assign its source.
        Dim myLog As New EventLog("MyNewLog")
        myLog.Source = "MyNewLogSource"
        
        ' Write an informational entry to the event log.    
        myLog.WriteEntry("Writing warning to event log.", EventLogEntryType.Warning)
    End Sub
End Class

Hinweise

Verwenden Sie diese Methode, um einen Eintrag eines angegebenen EventLogEntryType Eintrags in das Ereignisprotokoll zu schreiben. Dies type wird durch ein Symbol und Text in der Spalte "Typ" in der Ereignisanzeige für ein Protokoll angegeben.

Hinweis

Die message Zeichenfolge darf %n nicht enthalten, wobei n ein ganzzahliger Wert (z. B. %1) ist, da die Ereignisanzeige sie als Einfügezeichenfolge behandelt. Da eine Internetprotokolladresse, Version 6 (IPv6) diese Zeichensequenz enthalten kann, können Sie keine Ereignismeldung protokollieren, die eine IPv6-Adresse enthält.

Sie müssen die Source Eigenschaft für Ihre EventLog Komponente festlegen, bevor Sie Einträge in das Protokoll schreiben können. Sie müssen die Ereignisquelle erstellen und konfigurieren, bevor Sie den ersten Eintrag mit der Quelle schreiben.

Erstellen Sie die neue Ereignisquelle während der Installation Ihrer Anwendung. Auf diese Weise kann das Betriebssystem die Liste der registrierten Ereignisquellen und deren Konfiguration aktualisieren. Wenn das Betriebssystem die Liste der Ereignisquellen nicht aktualisiert hat und Sie versuchen, ein Ereignis mit der neuen Quelle zu schreiben, schlägt der Schreibvorgang fehl. Sie können eine neue Quelle mithilfe einer EventLogInstallerOder mithilfe der CreateEventSource Methode konfigurieren. Sie müssen über Administratorrechte auf dem Computer verfügen, um eine neue Ereignisquelle zu erstellen.

Wenn die in der Source Eigenschaft dieser EventLog Instanz angegebene Quelle nicht auf dem Computer registriert ist, an den Ihre Komponente schreibt, WriteEntry ruft die Quelle auf CreateEventSource und registriert sie.

Hinweis

Wenn Sie keine Instanz angeben MachineName EventLog , bevor Sie eine Instanz aufrufen CreateEventSource oder WriteEntryangeben, wird der lokale Computer (".") angenommen.

Wenn das System den Source Aufruf durch einen Aufruf WriteEntry registrieren muss und die Log Eigenschaft für Ihre EventLog Instanz nicht festgelegt wurde, wird das Protokoll standardmäßig im Anwendungsprotokoll gespeichert.

Hinweis

Viele oben aufgeführte Ausnahmen werden durch Fehler generiert, die während des Registrierungsprozesses Sourceausgelöst wurden.

Die Quelle muss entweder für das Schreiben lokalisierter Einträge oder für das Schreiben von direkten Zeichenfolgen konfiguriert werden. Die WriteEntry Methode schreibt die angegebene Zeichenfolge direkt in das Ereignisprotokoll. Sie verwendet keine lokalisierbare Nachrichtenressourcendatei. Verwenden Sie die WriteEvent Methode, um Ereignisse mithilfe einer lokalisierten Nachrichtenressourcendatei zu schreiben.

Wenn Ihre Anwendung Einträge mit Ressourcenbezeichnern und Zeichenfolgenwerten schreibt, müssen Sie zwei separate Quellen registrieren. Konfigurieren Sie beispielsweise eine Quelle mit Ressourcendateien, und verwenden Sie diese Quelle in der WriteEvent Methode, um Einträge mithilfe von Ressourcenbezeichnern in das Ereignisprotokoll zu schreiben. Erstellen Sie dann eine andere Quelle ohne Ressourcendateien, und verwenden Sie diese Quelle in der WriteEntry Methode, um Zeichenfolgen direkt in das Ereignisprotokoll mit dieser Quelle zu schreiben.

Hinweis

Wenn Sie einen Eintrag auf einen Remotecomputer schreiben, ist der Wert der Nachricht (die Textzeichenfolge) möglicherweise nicht das, was Sie erwarten, wenn der Remotecomputer die .NET Framework nicht ausführt.

Hinweis

Wenn der message Parameter ein NUL-Zeichen enthält, wird die Nachricht im Ereignisprotokoll am NUL-Zeichen beendet.

Siehe auch

Gilt für:

WriteEntry(String, EventLogEntryType, Int32)

Schreibt einen Eintrag mit dem angegebenen Meldungstext und dem von der Anwendung definierten Ereignisbezeichner in das Ereignisprotokoll.

public:
 void WriteEntry(System::String ^ message, System::Diagnostics::EventLogEntryType type, int eventID);
public void WriteEntry (string message, System.Diagnostics.EventLogEntryType type, int eventID);
member this.WriteEntry : string * System.Diagnostics.EventLogEntryType * int -> unit
Public Sub WriteEntry (message As String, type As EventLogEntryType, eventID As Integer)

Parameter

message
String

Die in das Ereignisprotokoll zu schreibende Zeichenfolge.

type
EventLogEntryType

Einer der EventLogEntryType-Werte.

eventID
Int32

Der anwendungsspezifische Bezeichner für das Ereignis.

Ausnahmen

Die Source-Eigenschaft von EventLog wurde nicht festgelegt.

- oder - Die Methode hat versucht, eine neue Ereignisquelle zu registrieren, der Computername in MachineName ist jedoch ungültig.

- oder - Die Quelle ist bereits für ein anderes Ereignisprotokoll registriert.

- oder - eventID ist kleiner als null oder größer als UInt16.MaxValue.

- oder - Die Meldungszeichenfolge ist länger als 31.839 Bytes (32.766 Bytes auf Windows-Betriebssystemen vor Windows Vista).

- oder - Der Quellenname führt dazu, dass der Registrierungsschlüsselpfad länger als 254 Zeichen ist.

Der Registrierungsschlüssel für das Ereignisprotokoll konnte nicht geöffnet werden.

Das Betriebssystem hat beim Schreiben des Ereigniseintrags in das Ereignisprotokoll einen Fehler gemeldet. Es ist kein Windows-Fehlercode verfügbar.

Beispiele

// Create an EventLog instance and assign its source.
EventLog^ myLog = gcnew EventLog;
myLog->Source = "ThirdSource";

// Write an informational entry to the event log.
Console::WriteLine( "Write from third source " );
myLog->WriteEntry( "Writing warning to event log.",
   EventLogEntryType::Warning, myEventID, myCategory );
// Create an EventLog instance and assign its source.
EventLog myLog = new EventLog();
myLog.Source = "ThirdSource";

// Write an informational entry to the event log.
Console.WriteLine("Write from third source ");
myLog.WriteEntry("Writing warning to event log.",
                  EventLogEntryType.Warning, myEventID, myCategory);
' Create an EventLog instance and assign its source.
Dim myLog As New EventLog()
myLog.Source = "ThirdSource"

' Write an informational entry to the event log.
Console.WriteLine("Write from third source ")
myLog.WriteEntry("Writing warning to event log.", EventLogEntryType.Warning, _
                     myEventID, myCategory)

Hinweise

Verwenden Sie diese Methode, um einen Eintrag mit einem anwendungsdefinierten eventID Ereignisprotokoll zu schreiben. Die eventID Zusammen mit der Quelle identifizieren Sie ein Ereignis eindeutig. Jede Anwendung kann eigene nummerierte Ereignisse und die Beschreibungszeichenfolgen definieren, denen sie zugeordnet sind. Ereignisanzeigen zeigen diese Zeichenfolgenwerte an, um dem Benutzer zu helfen, zu verstehen, was falsch war und welche Aktionen ausgeführt werden sollen.

Hinweis

Die message Zeichenfolge darf %n nicht enthalten, wobei n ein ganzzahliger Wert (z. B. %1) ist, da die Ereignisanzeige sie als Einfügezeichenfolge behandelt. Da eine Internetprotokolladresse, Version 6 (IPv6) diese Zeichensequenz enthalten kann, können Sie keine Ereignismeldung protokollieren, die eine IPv6-Adresse enthält.

Zusätzlich zum Ereignisbezeichner können Sie ein EventLogEntryType Ereignis angeben, das in das Ereignisprotokoll geschrieben wird. Dies type wird durch ein Symbol und Text in der Spalte "Typ" in der Ereignisanzeige für ein Protokoll angegeben. Dieser Parameter gibt an, ob der Ereignistyp Fehler, Warnung, Informationen, Erfolgsüberwachung oder Fehlerüberwachung ist.

Sie müssen die Source Eigenschaft für Ihre EventLog Komponente festlegen, bevor Sie Einträge in das Protokoll schreiben können. Sie müssen die Ereignisquelle erstellen und konfigurieren, bevor Sie den ersten Eintrag mit der Quelle schreiben.

Erstellen Sie die neue Ereignisquelle während der Installation Ihrer Anwendung. Auf diese Weise kann das Betriebssystem die Liste der registrierten Ereignisquellen und deren Konfiguration aktualisieren. Wenn das Betriebssystem die Liste der Ereignisquellen nicht aktualisiert hat und Sie versuchen, ein Ereignis mit der neuen Quelle zu schreiben, schlägt der Schreibvorgang fehl. Sie können eine neue Quelle mithilfe einer EventLogInstallerOder mithilfe der CreateEventSource Methode konfigurieren. Sie müssen über Administratorrechte auf dem Computer verfügen, um eine neue Ereignisquelle zu erstellen.

Wenn die in der Source Eigenschaft dieser EventLog Instanz angegebene Quelle nicht auf dem Computer registriert ist, an den Ihre Komponente schreibt, WriteEntry ruft die Quelle auf CreateEventSource und registriert sie.

Hinweis

Wenn Sie keine Instanz angeben MachineName EventLog , bevor Sie eine Instanz aufrufen CreateEventSource oder WriteEntryangeben, wird der lokale Computer (".") angenommen.

Wenn das System den Source Aufruf durch einen Aufruf WriteEntry registrieren muss und die Log Eigenschaft für Ihre EventLog Instanz nicht festgelegt wurde, wird das Protokoll standardmäßig im Anwendungsprotokoll gespeichert.

Hinweis

Viele oben aufgeführte Ausnahmen werden durch Fehler generiert, die während des Registrierungsprozesses Sourceausgelöst wurden.

Die Quelle muss entweder für das Schreiben lokalisierter Einträge oder für das Schreiben von direkten Zeichenfolgen konfiguriert werden. Die WriteEntry Methode schreibt die angegebene Zeichenfolge direkt in das Ereignisprotokoll. Sie verwendet keine lokalisierbare Nachrichtenressourcendatei. Verwenden Sie die WriteEvent Methode, um Ereignisse mithilfe einer lokalisierten Nachrichtenressourcendatei zu schreiben.

Wenn Ihre Anwendung Einträge mit Ressourcenbezeichnern und Zeichenfolgenwerten schreibt, müssen Sie zwei separate Quellen registrieren. Konfigurieren Sie beispielsweise eine Quelle mit Ressourcendateien, und verwenden Sie diese Quelle in der WriteEvent Methode, um Einträge mithilfe von Ressourcenbezeichnern in das Ereignisprotokoll zu schreiben. Erstellen Sie dann eine andere Quelle ohne Ressourcendateien, und verwenden Sie diese Quelle in der WriteEntry Methode, um Zeichenfolgen direkt in das Ereignisprotokoll mit dieser Quelle zu schreiben.

Hinweis

Wenn Sie einen Eintrag auf einen Remotecomputer schreiben, ist der Wert der Nachricht (die Textzeichenfolge) möglicherweise nicht das, was Sie erwarten, wenn der Remotecomputer die .NET Framework nicht ausführt.

Hinweis

Wenn der message Parameter ein NUL-Zeichen enthält, wird die Nachricht im Ereignisprotokoll am NUL-Zeichen beendet.

Siehe auch

Gilt für:

WriteEntry(String, String)

Schreibt einen Eintrag vom Typ Information mit dem angegebenen Meldungstext in das Ereignisprotokoll, wobei die angegebene registrierte Ereignisquelle verwendet wird.

public:
 static void WriteEntry(System::String ^ source, System::String ^ message);
public static void WriteEntry (string source, string message);
static member WriteEntry : string * string -> unit
Public Shared Sub WriteEntry (source As String, message As String)

Parameter

source
String

Die Quelle, unter der die Anwendung auf dem angegebenen Computer registriert ist.

message
String

Die in das Ereignisprotokoll zu schreibende Zeichenfolge.

Ausnahmen

Der source-Wert ist eine leere Zeichenfolge ("").

- oder - Der source-Wert ist null.

- oder - Die Meldungszeichenfolge ist länger als 31.839 Bytes (32.766 Bytes auf Windows-Betriebssystemen vor Windows Vista).

- oder - Der Quellenname führt dazu, dass der Registrierungsschlüsselpfad länger als 254 Zeichen ist.

Der Registrierungsschlüssel für das Ereignisprotokoll konnte nicht geöffnet werden.

Das Betriebssystem hat beim Schreiben des Ereigniseintrags in das Ereignisprotokoll einen Fehler gemeldet. Es ist kein Windows-Fehlercode verfügbar.

Beispiele

Im folgenden Beispiel wird die Quelle MySource erstellt, wenn sie noch nicht vorhanden ist, und schreibt einen Eintrag in das Ereignisprotokoll MyNewLog.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
   
   // Create the source, if it does not already exist.
   if (  !EventLog::SourceExists( "MySource" ) )
   {
      EventLog::CreateEventSource( "MySource", "myNewLog" );
      Console::WriteLine( "CreatingEventSource" );
   }

   
   // Write an informational entry to the event log.    
   EventLog::WriteEntry( "MySource", "Writing to event log." );
}
using System;
using System.Diagnostics;
using System.Threading;

class MySample
{

    public static void Main()
    {

        // Create the source, if it does not already exist.
        if (!EventLog.SourceExists("MySource"))
        {
            // An event log source should not be created and immediately used.
            // There is a latency time to enable the source, it should be created
            // prior to executing the application that uses the source.
            // Execute this sample a second time to use the new source.
            EventLog.CreateEventSource("MySource", "myNewLog");
            Console.WriteLine("CreatingEventSource");
            Console.WriteLine("Exiting, execute the application a second time to use the source.");
            // The source is created.  Exit the application to allow it to be registered.
            return;
        }

        // Write an informational entry to the event log.
        EventLog.WriteEntry("MySource", "Writing to event log.");
    }
}
Option Strict
Option Explicit

Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        ' Create the source, if it does not already exist.
        If Not EventLog.SourceExists("MySource") Then
            EventLog.CreateEventSource("MySource", "myNewLog")
            Console.WriteLine("CreatingEventSource")
        End If
        
        
        ' Write an informational entry to the event log.    
        EventLog.WriteEntry("MySource", "Writing to event log.")
    End Sub
End Class

Hinweise

Verwenden Sie diese Methode, um einen Informationseintrag in das Ereignisprotokoll zu schreiben, indem Sie eine Quelle verwenden, die bereits als Ereignisquelle für das entsprechende Protokoll registriert ist. Wenn Sie andere angeben möchten, verwenden Sie eine andere EventLogEntryTypeÜberladung von WriteEntry.

Sie müssen die Ereignisquelle erstellen und konfigurieren, bevor Sie den ersten Eintrag mit der Quelle schreiben. Erstellen Sie die neue Ereignisquelle während der Installation Ihrer Anwendung. Auf diese Weise kann das Betriebssystem die Liste der registrierten Ereignisquellen und deren Konfiguration aktualisieren. Wenn das Betriebssystem die Liste der Ereignisquellen nicht aktualisiert hat und Sie versuchen, ein Ereignis mit der neuen Quelle zu schreiben, schlägt der Schreibvorgang fehl. Sie können eine neue Quelle mithilfe einer EventLogInstallerOder mithilfe der CreateEventSource Methode konfigurieren. Sie müssen über Administratorrechte auf dem Computer verfügen, um eine neue Ereignisquelle zu erstellen.

Die Quelle muss entweder für das Schreiben lokalisierter Einträge oder für das Schreiben von direkten Zeichenfolgen konfiguriert werden. Die WriteEntry Methode schreibt die angegebene Zeichenfolge direkt in das Ereignisprotokoll. Sie verwendet keine lokalisierbare Nachrichtenressourcendatei. Verwenden Sie die WriteEvent Methode, um Ereignisse mithilfe einer lokalisierten Nachrichtenressourcendatei zu schreiben.

Wenn Ihre Anwendung Einträge mit Ressourcenbezeichnern und Zeichenfolgenwerten schreibt, müssen Sie zwei separate Quellen registrieren. Konfigurieren Sie beispielsweise eine Quelle mit Ressourcendateien, und verwenden Sie diese Quelle in der WriteEvent Methode, um Einträge mithilfe von Ressourcenbezeichnern in das Ereignisprotokoll zu schreiben. Erstellen Sie dann eine andere Quelle ohne Ressourcendateien, und verwenden Sie diese Quelle in der WriteEntry Methode, um Zeichenfolgen direkt in das Ereignisprotokoll mit dieser Quelle zu schreiben.

Hinweis

Wenn der message Parameter ein NUL-Zeichen enthält, wird die Nachricht im Ereignisprotokoll am NUL-Zeichen beendet.

Die message Zeichenfolge darf %n nicht enthalten, wobei n ein ganzzahliger Wert (z. B. %1) ist, da die Ereignisanzeige sie als Einfügezeichenfolge behandelt. Da eine Internetprotokolladresse, Version 6 (IPv6) diese Zeichensequenz enthalten kann, können Sie keine Ereignismeldung protokollieren, die eine IPv6-Adresse enthält.

Siehe auch

Gilt für:

WriteEntry(String)

Schreibt einen Eintrag vom Typ Information mit dem angegebenen Meldungstext in das Ereignisprotokoll.

public:
 void WriteEntry(System::String ^ message);
public void WriteEntry (string message);
member this.WriteEntry : string -> unit
Public Sub WriteEntry (message As String)

Parameter

message
String

Die in das Ereignisprotokoll zu schreibende Zeichenfolge.

Ausnahmen

Die Source-Eigenschaft von EventLog wurde nicht festgelegt.

- oder - Die Methode hat versucht, eine neue Ereignisquelle zu registrieren, der Computername in MachineName ist jedoch ungültig.

- oder - Die Quelle ist bereits für ein anderes Ereignisprotokoll registriert.

- oder - Die Meldungszeichenfolge ist länger als 31.839 Bytes (32.766 Bytes auf Windows-Betriebssystemen vor Windows Vista).

- oder - Der Quellenname führt dazu, dass der Registrierungsschlüsselpfad länger als 254 Zeichen ist.

Der Registrierungsschlüssel für das Ereignisprotokoll konnte nicht geöffnet werden.

Das Betriebssystem hat beim Schreiben des Ereigniseintrags in das Ereignisprotokoll einen Fehler gemeldet. Es ist kein Windows-Fehlercode verfügbar.

Beispiele

Im folgenden Beispiel wird die Quelle MySource erstellt, wenn sie noch nicht vorhanden ist, und schreibt einen Eintrag in das Ereignisprotokoll MyNewLog.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
   
   // Create the source, if it does not already exist.
   if (  !EventLog::SourceExists( "MySource" ) )
   {
      //An event log source should not be created and immediately used.
      //There is a latency time to enable the source, it should be created
      //prior to executing the application that uses the source.
      //Execute this sample a second time to use the new source.
      EventLog::CreateEventSource( "MySource", "MyNewLog" );
      Console::WriteLine( "CreatingEventSource" );
      // The source is created.  Exit the application to allow it to be registered.
      return 0;
   }

   
   // Create an EventLog instance and assign its source.
   EventLog^ myLog = gcnew EventLog;
   myLog->Source = "MySource";
   
   // Write an informational entry to the event log.    
   myLog->WriteEntry( "Writing to event log." );
}
using System;
using System.Diagnostics;
using System.Threading;

class MySample{

    public static void Main(){

        // Create the source, if it does not already exist.
        if(!EventLog.SourceExists("MySource"))
        {
             //An event log source should not be created and immediately used.
             //There is a latency time to enable the source, it should be created
             //prior to executing the application that uses the source.
             //Execute this sample a second time to use the new source.
            EventLog.CreateEventSource("MySource", "MyNewLog");
            Console.WriteLine("CreatedEventSource");
            Console.WriteLine("Exiting, execute the application a second time to use the source.");
            // The source is created.  Exit the application to allow it to be registered.
            return;
        }

        // Create an EventLog instance and assign its source.
        EventLog myLog = new EventLog();
        myLog.Source = "MySource";

        // Write an informational entry to the event log.
        myLog.WriteEntry("Writing to event log.");
    }
}
Option Explicit
Option Strict

Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        
        If Not EventLog.SourceExists("MySource") Then
            ' Create the source, if it does not already exist.
            ' An event log source should not be created and immediately used.
            ' There is a latency time to enable the source, it should be created
            ' prior to executing the application that uses the source.
            ' Execute this sample a second time to use the new source.
            EventLog.CreateEventSource("MySource", "MyNewLog")
            Console.WriteLine("CreatingEventSource")
            'The source is created.  Exit the application to allow it to be registered.
            Return
        End If
        
        ' Create an EventLog instance and assign its source.
        Dim myLog As New EventLog()
        myLog.Source = "MySource"
        
        ' Write an informational entry to the event log.    
        myLog.WriteEntry("Writing to event log.")
    End Sub
End Class

Hinweise

Verwenden Sie diese Methode, um einen Informationseintrag in das Ereignisprotokoll zu schreiben, das dieser EventLog Instanz zugeordnet ist. Wenn Sie eine andere EventLogEntryTypeAngeben möchten, verwenden Sie eine andere Überladung von WriteEntry.

Hinweis

Die message Zeichenfolge kann % n nicht enthalten, wobei n ein ganzzahliger Wert ist (z. B. %1), da die Ereignisanzeige sie als Einfügezeichenfolge behandelt. Da eine Internetprotokolladresse (IPv6) diese Zeichensequenz enthalten kann, können Sie keine Ereignisnachricht protokollieren, die eine IPv6-Adresse enthält.

Sie müssen die Source Eigenschaft für Ihre EventLog Komponente festlegen, bevor Sie Einträge in das Protokoll schreiben können. Sie müssen die Ereignisquelle erstellen und konfigurieren, bevor Sie den ersten Eintrag mit der Quelle schreiben.

Erstellen Sie die neue Ereignisquelle während der Installation Ihrer Anwendung. Dadurch kann das Betriebssystem die Liste der registrierten Ereignisquellen und deren Konfiguration aktualisieren. Wenn das Betriebssystem die Liste der Ereignisquellen nicht aktualisiert hat, und Sie versuchen, ein Ereignis mit der neuen Quelle zu schreiben, schlägt der Schreibvorgang fehl. Sie können eine neue Quelle mithilfe einer EventLogInstallerOder mithilfe der CreateEventSource Methode konfigurieren. Sie müssen administrative Rechte auf dem Computer haben, um eine neue Ereignisquelle zu erstellen.

Wenn die in der Source Eigenschaft dieser EventLog Instanz angegebene Quelle nicht auf dem Computer registriert ist, an den Ihre Komponente schreibt, WriteEntry ruft CreateEventSource die Quelle auf und registriert sie.

Hinweis

Wenn Sie keine Instanz angeben MachineName EventLog , bevor Sie aufrufen CreateEventSource oder WriteEntryangeben, wird der lokale Computer (".") angenommen.

Wenn das System die Überrufe registrieren muss und die Source WriteEntry Log Eigenschaft nicht auf Ihrer EventLog Instanz festgelegt wurde, ist das Protokoll standardmäßig im Anwendungsprotokoll festgelegt.

Hinweis

Viele der oben aufgeführten Ausnahmen werden durch Fehler generiert, die während des Registrierungsprozesses Sourceausgelöst wurden.

Die Quelle muss entweder für das Schreiben lokalisierter Einträge oder zum Schreiben von direkten Zeichenfolgen konfiguriert werden. Die WriteEntry Methode schreibt die angegebene Zeichenfolge direkt in das Ereignisprotokoll. Sie verwendet keine gebietsschemaierbare Nachrichtenressourcedatei. Verwenden Sie die WriteEvent Methode, um Ereignisse mithilfe einer lokalisierten Nachrichtenressourcedatei zu schreiben.

Wenn Ihre Anwendung Einträge mit Ressourcenbezeichnern und Zeichenfolgenwerten schreibt, müssen Sie zwei separate Quellen registrieren. Konfigurieren Sie beispielsweise eine Quelle mit Ressourcendateien, und verwenden Sie diese Quelle in der Methode, um Einträge mithilfe von Ressourcenbezeichnern in das WriteEvent Ereignisprotokoll zu schreiben. Erstellen Sie dann eine andere Quelle ohne Ressourcendateien, und verwenden Sie diese Quelle in der WriteEntry Methode, um Zeichenfolgen direkt in das Ereignisprotokoll mit dieser Quelle zu schreiben.

Hinweis

Wenn Sie einen Eintrag auf einen Remotecomputer schreiben, ist der Wert der Nachricht (die Textzeichenfolge) möglicherweise nicht das, was Sie erwarten, wenn der Remotecomputer die .NET Framework nicht ausführt.

Hinweis

Wenn der Parameter ein NUL-Zeichen enthält, wird die message Nachricht im Ereignisprotokoll am NUL-Zeichen beendet.

Siehe auch

Gilt für:

WriteEntry(String, String, EventLogEntryType)

Schreibt einen Eintrag für einen Fehler, eine Warnung, eine Information oder eine Erfolgs- oder Fehlerüberwachung mit dem angegebenen Meldungstext in das Ereignisprotokoll, wobei die angegebene registrierte Ereignisquelle verwendet wird.

public:
 static void WriteEntry(System::String ^ source, System::String ^ message, System::Diagnostics::EventLogEntryType type);
public static void WriteEntry (string source, string message, System.Diagnostics.EventLogEntryType type);
static member WriteEntry : string * string * System.Diagnostics.EventLogEntryType -> unit
Public Shared Sub WriteEntry (source As String, message As String, type As EventLogEntryType)

Parameter

source
String

Die Quelle, unter der die Anwendung auf dem angegebenen Computer registriert ist.

message
String

Die in das Ereignisprotokoll zu schreibende Zeichenfolge.

type
EventLogEntryType

Einer der EventLogEntryType-Werte.

Ausnahmen

Der source-Wert ist eine leere Zeichenfolge ("").

- oder - Der source-Wert ist null.

- oder - Die Meldungszeichenfolge ist länger als 31.839 Bytes (32.766 Bytes auf Windows-Betriebssystemen vor Windows Vista).

- oder - Der Quellenname führt dazu, dass der Registrierungsschlüsselpfad länger als 254 Zeichen ist.

Der Registrierungsschlüssel für das Ereignisprotokoll konnte nicht geöffnet werden.

Das Betriebssystem hat beim Schreiben des Ereigniseintrags in das Ereignisprotokoll einen Fehler gemeldet. Es ist kein Windows-Fehlercode verfügbar.

Beispiele

Im folgenden Beispiel wird ein Warneintrag in ein Ereignisprotokoll , "MyNewLog", auf dem lokalen Computer geschrieben.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
   
   // Write an informational entry to the event log.    
   EventLog::WriteEntry( "MySource", "Writing warning to event log.", EventLogEntryType::Warning );
}
using System;
using System.Diagnostics;
using System.Threading;

class MySample2
{

    public static void Main()
    {

        // Write an informational entry to the event log.
        EventLog.WriteEntry("MySource",
            "Writing warning to event log.",
            EventLogEntryType.Warning);
    }
}
Option Explicit
Option Strict

Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        ' Write an informational entry to the event log.    
        EventLog.WriteEntry("MySource", "Writing warning to event log.", _
            EventLogEntryType.Warning)
    End Sub
End Class

Hinweise

Verwenden Sie diese Methode, um einen Eintrag eines angegebenen in das Ereignisprotokoll angegebenen EventLogEntryType Eintrags zu schreiben, wobei eine Quelle, die bereits als Ereignisquelle für das entsprechende Protokoll registriert ist. Dies type wird durch ein Symbol und Text in der Spalte "Typ" in der Ereignisanzeige für ein Protokoll angegeben.

Hinweis

Die message Zeichenfolge darf %n nicht enthalten, wobei n ein ganzzahliger Wert (z. B. %1) ist, da die Ereignisanzeige sie als Einfügezeichenfolge behandelt. Da eine Internetprotokolladresse, Version 6 (IPv6) diese Zeichensequenz enthalten kann, können Sie keine Ereignismeldung protokollieren, die eine IPv6-Adresse enthält.

Sie müssen die Ereignisquelle erstellen und konfigurieren, bevor Sie den ersten Eintrag mit der Quelle schreiben. Erstellen Sie die neue Ereignisquelle während der Installation Ihrer Anwendung. Auf diese Weise kann das Betriebssystem die Liste der registrierten Ereignisquellen und deren Konfiguration aktualisieren. Wenn das Betriebssystem die Liste der Ereignisquellen nicht aktualisiert hat und Sie versuchen, ein Ereignis mit der neuen Quelle zu schreiben, schlägt der Schreibvorgang fehl. Sie können eine neue Quelle mithilfe einer EventLogInstallerOder mithilfe der CreateEventSource Methode konfigurieren. Sie müssen über Administratorrechte auf dem Computer verfügen, um eine neue Ereignisquelle zu erstellen.

Die Quelle muss entweder für das Schreiben lokalisierter Einträge oder für das Schreiben von direkten Zeichenfolgen konfiguriert werden. Die WriteEntry Methode schreibt die angegebene Zeichenfolge direkt in das Ereignisprotokoll. Sie verwendet keine lokalisierbare Nachrichtenressourcendatei. Verwenden Sie die WriteEvent Methode, um Ereignisse mithilfe einer lokalisierten Nachrichtenressourcendatei zu schreiben.

Wenn Ihre Anwendung Einträge mit Ressourcenbezeichnern und Zeichenfolgenwerten schreibt, müssen Sie zwei separate Quellen registrieren. Konfigurieren Sie beispielsweise eine Quelle mit Ressourcendateien, und verwenden Sie diese Quelle in der WriteEvent Methode, um Einträge mithilfe von Ressourcenbezeichnern in das Ereignisprotokoll zu schreiben. Erstellen Sie dann eine andere Quelle ohne Ressourcendateien, und verwenden Sie diese Quelle in der WriteEntry Methode, um Zeichenfolgen direkt in das Ereignisprotokoll mit dieser Quelle zu schreiben.

Hinweis

Wenn der message Parameter ein NUL-Zeichen enthält, wird die Nachricht im Ereignisprotokoll am NUL-Zeichen beendet.

Siehe auch

Gilt für: