EventLog.WriteEntry Metoda

Definicja

Zapisuje wpis w dzienniku zdarzeń.

Przeciążenia

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

Zapisuje wpis z podanym tekstem komunikatu, identyfikatorem zdarzenia zdefiniowanym przez aplikację i kategorią zdefiniowaną przez aplikację do dziennika zdarzeń (przy użyciu określonego zarejestrowanego źródła zdarzeń) i dołącza dane binarne do komunikatu.

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

Zapisuje wpis z podanym tekstem wiadomości, identyfikatorem zdarzenia zdefiniowanym przez aplikację i kategorią zdefiniowaną przez aplikację w dzienniku zdarzeń przy użyciu określonego zarejestrowanego źródła zdarzeń. Może category być używany przez Podgląd zdarzeń do filtrowania zdarzeń w dzienniku.

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

Zapisuje wpis z podanym tekstem komunikatu, identyfikatorem zdarzenia zdefiniowanym przez aplikację i kategorią zdefiniowaną przez aplikację w dzienniku zdarzeń oraz dołącza dane binarne do komunikatu.

WriteEntry(String, String, EventLogEntryType, Int32)

Zapisuje wpis z podanym tekstem komunikatu i identyfikatorem zdarzenia zdefiniowanym przez aplikację w dzienniku zdarzeń przy użyciu określonego zarejestrowanego źródła zdarzeń.

WriteEntry(String, EventLogEntryType, Int32, Int16)

Zapisuje wpis z podanym tekstem komunikatu, identyfikatorem zdarzenia zdefiniowanym przez aplikację i kategorią zdefiniowaną przez aplikację w dzienniku zdarzeń.

WriteEntry(String, EventLogEntryType)

Zapisuje błąd, ostrzeżenie, informacje, inspekcję powodzenia lub wpis inspekcji niepowodzenia z podanym tekstem komunikatu do dziennika zdarzeń.

WriteEntry(String, EventLogEntryType, Int32)

Zapisuje wpis z podanym tekstem komunikatu i identyfikatorem zdarzenia zdefiniowanym przez aplikację w dzienniku zdarzeń.

WriteEntry(String, String)

Zapisuje wpis typu informacji z podanym tekstem wiadomości do dziennika zdarzeń przy użyciu określonego zarejestrowanego źródła zdarzeń.

WriteEntry(String)

Zapisuje wpis typu informacji z podanym tekstem wiadomości do dziennika zdarzeń.

WriteEntry(String, String, EventLogEntryType)

Zapisuje błąd, ostrzeżenie, informacje, inspekcję powodzenia lub wpis inspekcji niepowodzenia z podanym tekstem komunikatu do dziennika zdarzeń przy użyciu określonego zarejestrowanego źródła zdarzeń.

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

Zapisuje wpis z podanym tekstem komunikatu, identyfikatorem zdarzenia zdefiniowanym przez aplikację i kategorią zdefiniowaną przez aplikację do dziennika zdarzeń (przy użyciu określonego zarejestrowanego źródła zdarzeń) i dołącza dane binarne do komunikatu.

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())

Parametry

source
String

Źródło, za pomocą którego aplikacja jest zarejestrowana na określonym komputerze.

message
String

Ciąg do zapisu w dzienniku zdarzeń.

type
EventLogEntryType

Jedna z EventLogEntryType wartości.

eventID
Int32

Identyfikator specyficzny dla aplikacji dla zdarzenia.

category
Int16

Podkategoria specyficzna dla aplikacji skojarzona z komunikatem.

rawData
Byte[]

Tablica bajtów zawierająca dane binarne skojarzone z wpisem.

Wyjątki

Wartość source jest pustym ciągiem ("").

-lub- Wartość elementu source to null.

-lub- eventID wartość jest mniejsza niż zero lub większa niż UInt16.MaxValue.

-lub- Ciąg komunikatu jest dłuższy niż 31 839 bajtów (32 766 bajtów w systemach operacyjnych Windows przed Windows Vista).

-lub- Nazwa źródła powoduje, że ścieżka klucza rejestru jest dłuższa niż 254 znaki.

type element nie jest prawidłowym EventLogEntryTypeelementem .

Nie można otworzyć klucza rejestru dziennika zdarzeń.

System operacyjny zgłosił błąd podczas zapisywania wpisu zdarzenia w dzienniku zdarzeń. Kod błędu Windows jest niedostępny.

Przykłady

//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)

Uwagi

Ta metoda służy do zapisywania danych specyficznych dla zdarzenia zdefiniowanego przez aplikację w dzienniku zdarzeń przy użyciu źródła, które zostało już zarejestrowane jako źródło zdarzeń dla odpowiedniego dziennika. Podgląd zdarzeń nie interpretuje tych danych; wyświetla dane pierwotne tylko w połączonym formacie szesnastkowym i tekstowym. Używaj danych specyficznych dla zdarzeń oszczędnie; uwzględnij go tylko wtedy, gdy masz pewność, że będzie to przydatne. Możesz również użyć danych specyficznych dla zdarzeń do przechowywania informacji, które aplikacja może przetwarzać niezależnie od Podgląd zdarzeń. Na przykład możesz napisać przeglądarkę specjalnie dla zdarzeń lub napisać program, który skanuje plik dziennika i tworzy raporty zawierające informacje z danych specyficznych dla zdarzenia.

Oprócz danych binarnych można określić kategorię zdefiniowaną przez aplikację i identyfikator zdarzenia zdefiniowanego przez aplikację. Podgląd zdarzeń używa kategorii do filtrowania zdarzeń zapisanych przez źródło zdarzeń. Podgląd zdarzeń może wyświetlić kategorię jako wartość liczbową lub użyć kategorii jako identyfikatora zasobu w celu wyświetlenia zlokalizowanego ciągu kategorii.

Uwaga

Parametr category powinien być wartością dodatnią. Wartości kategorii ujemnych są wyświetlane jako uzupełniająca liczba dodatnia w Podgląd zdarzeń. Na przykład wartość -10 będzie wyświetlana jako 65 526, a -1 jako 65 535.

Aby wyświetlić zlokalizowane ciągi kategorii w Podgląd zdarzeń, należy użyć źródła zdarzeń skonfigurowanego z plikiem zasobu kategorii i ustawić category wartość na identyfikator zasobu w pliku zasobu kategorii. Jeśli źródło zdarzeń nie ma skonfigurowanego pliku zasobu kategorii lub określony category nie indeksuje ciągu w pliku zasobu kategorii, Podgląd zdarzeń wyświetla wartość kategorii liczbowej dla tego wpisu. Skonfiguruj plik zasobu kategorii wraz z liczbą ciągów kategorii w pliku zasobu przy użyciu EventLogInstaller klasy lub EventSourceCreationData .

Identyfikatory zdarzeń wraz ze źródłem zdarzeń jednoznacznie identyfikują zdarzenie. Każda aplikacja może definiować własne zdarzenia numerowane i ciągi opisu, do których są mapowane. Osoby przeglądające zdarzenia wyświetlają te wartości ciągów, aby ułatwić użytkownikowi zrozumienie, co poszło nie tak i zasugerować, jakie działania należy wykonać.

Na koniec możesz określić zdarzenie EventLogEntryType zapisywane w dzienniku zdarzeń. Element type jest wskazywany przez ikonę i tekst w kolumnie Typ w Podgląd zdarzeń dziennika. Ten parametr wskazuje, czy typ zdarzenia to błąd, ostrzeżenie, informacje, inspekcja powodzenia lub inspekcja niepowodzeń.

Należy utworzyć i skonfigurować źródło zdarzeń przed zapisaniem pierwszego wpisu ze źródłem. Utwórz nowe źródło zdarzeń podczas instalacji aplikacji. Dzięki temu system operacyjny może odświeżyć listę zarejestrowanych źródeł zdarzeń i ich konfigurację. Jeśli system operacyjny nie odświeżył listy źródeł zdarzeń i spróbujesz napisać zdarzenie przy użyciu nowego źródła, operacja zapisu zakończy się niepowodzeniem. Nowe źródło można skonfigurować przy użyciu metody EventLogInstallerlub metody CreateEventSource . Aby utworzyć nowe źródło zdarzeń, musisz mieć uprawnienia administracyjne na komputerze.

Źródło musi być skonfigurowane do zapisywania zlokalizowanych wpisów lub zapisywania ciągów bezpośrednich. Metoda WriteEntry zapisuje dany ciąg bezpośrednio w dzienniku zdarzeń. Nie używa zlokalizowanego pliku zasobu komunikatu. Użyj metody do zapisywania WriteEvent zdarzeń przy użyciu zlokalizowanego pliku zasobu komunikatu.

Jeśli aplikacja zapisuje wpisy przy użyciu zarówno identyfikatorów zasobów, jak i wartości ciągów, musisz zarejestrować dwa oddzielne źródła. Na przykład skonfiguruj jedno źródło z plikami zasobów, a następnie użyj tego źródła w WriteEvent metodzie do zapisu wpisów przy użyciu identyfikatorów zasobów w dzienniku zdarzeń. Następnie utwórz inne źródło bez plików zasobów i użyj tego źródła w metodzie WriteEntry , aby zapisywać ciągi bezpośrednio w dzienniku zdarzeń przy użyciu tego źródła.

Uwaga

message Jeśli parametr zawiera znak NUL, komunikat w dzienniku zdarzeń jest przerywany na znak NUL.

Ciąg message nie może zawierać %n, gdzie n jest wartością całkowitą (na przykład %1), ponieważ przeglądarka zdarzeń traktuje ją jako ciąg wstawiania. Ponieważ adres protokołu internetowego w wersji 6 (IPv6) może zawierać tę sekwencję znaków, nie można zarejestrować komunikatu o zdarzeniu zawierającego adres IPv6.

Zobacz też

Dotyczy

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

Zapisuje wpis z podanym tekstem wiadomości, identyfikatorem zdarzenia zdefiniowanym przez aplikację i kategorią zdefiniowaną przez aplikację w dzienniku zdarzeń przy użyciu określonego zarejestrowanego źródła zdarzeń. Może category być używany przez Podgląd zdarzeń do filtrowania zdarzeń w dzienniku.

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)

Parametry

source
String

Źródło, za pomocą którego aplikacja jest zarejestrowana na określonym komputerze.

message
String

Ciąg do zapisu w dzienniku zdarzeń.

type
EventLogEntryType

Jedna z EventLogEntryType wartości.

eventID
Int32

Identyfikator specyficzny dla aplikacji dla zdarzenia.

category
Int16

Podkategoria specyficzna dla aplikacji skojarzona z komunikatem.

Wyjątki

Wartość source jest pustym ciągiem ("").

-lub- Wartość elementu source to null.

-lub- eventID wartość jest mniejsza niż zero lub większa niż UInt16.MaxValue.

-lub- Ciąg komunikatu jest dłuższy niż 31 839 bajtów (32 766 bajtów w systemach operacyjnych Windows przed Windows Vista).

-lub- Nazwa źródła powoduje, że ścieżka klucza rejestru jest dłuższa niż 254 znaki.

Nie można otworzyć klucza rejestru dla dziennika zdarzeń.

type nie jest prawidłowym EventLogEntryTypeelementem .

System operacyjny zgłosił błąd podczas zapisywania wpisu zdarzenia w dzienniku zdarzeń. Kod błędu Windows jest niedostępny.

Przykłady

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)

Uwagi

Użyj tej metody, aby napisać wpis z dziennikiem zdarzeń zdefiniowanym category przez aplikację przy użyciu źródła, które jest już zarejestrowane jako źródło zdarzeń dla odpowiedniego dziennika. Podgląd zdarzeń używa kategorii do filtrowania zdarzeń zapisanych przez źródło zdarzeń. Podgląd zdarzeń może wyświetlić kategorię jako wartość liczbową lub użyć kategorii jako identyfikatora zasobu w celu wyświetlenia zlokalizowanego ciągu kategorii.

Uwaga

Parametr category powinien być wartością dodatnią. Wartości kategorii ujemnych są wyświetlane jako uzupełniająca liczba dodatnia w Podgląd zdarzeń. Na przykład wartość -10 jest wyświetlana jako 65 526, a -1 jako 65 535.

Aby wyświetlić zlokalizowane ciągi kategorii w Podgląd zdarzeń, należy użyć źródła zdarzeń skonfigurowanego z plikiem zasobu kategorii i ustawić category wartość na identyfikator zasobu w pliku zasobu kategorii. Jeśli źródło zdarzeń nie ma skonfigurowanego pliku zasobu kategorii lub określony category nie indeksuje ciągu w pliku zasobu kategorii, Podgląd zdarzeń wyświetla wartość kategorii liczbowej dla tego wpisu. Skonfiguruj plik zasobu kategorii wraz z liczbą ciągów kategorii w pliku zasobu przy użyciu EventLogInstaller klasy lub EventSourceCreationData .

Oprócz kategorii można określić identyfikator zdarzenia zapisywanego w dzienniku zdarzeń. Identyfikatory zdarzeń wraz ze źródłem zdarzeń jednoznacznie identyfikują zdarzenie. Każda aplikacja może definiować własne zdarzenia numerowane i ciągi opisu, do których są mapowane. Osoby przeglądające zdarzenia wyświetlają te wartości ciągów, aby ułatwić użytkownikowi zrozumienie, co poszło nie tak i zasugerować, jakie działania należy wykonać.

Na koniec możesz określić zdarzenie EventLogEntryType zapisywane w dzienniku zdarzeń. Element type jest wskazywany przez ikonę i tekst w kolumnie Typ w Podgląd zdarzeń dziennika. Ten parametr wskazuje, czy typ zdarzenia to błąd, ostrzeżenie, informacje, inspekcja powodzenia lub inspekcja niepowodzeń.

Należy utworzyć i skonfigurować źródło zdarzeń przed zapisaniem pierwszego wpisu ze źródłem. Utwórz nowe źródło zdarzeń podczas instalacji aplikacji. Dzięki temu system operacyjny może odświeżyć listę zarejestrowanych źródeł zdarzeń i ich konfigurację. Jeśli system operacyjny nie odświeżył listy źródeł zdarzeń i spróbujesz napisać zdarzenie przy użyciu nowego źródła, operacja zapisu zakończy się niepowodzeniem. Nowe źródło można skonfigurować przy użyciu metody EventLogInstallerlub metody CreateEventSource . Aby utworzyć nowe źródło zdarzeń, musisz mieć uprawnienia administracyjne na komputerze.

Źródło musi być skonfigurowane do zapisywania zlokalizowanych wpisów lub zapisywania ciągów bezpośrednich. Metoda WriteEntry zapisuje dany ciąg bezpośrednio w dzienniku zdarzeń. Nie używa zlokalizowanego pliku zasobu komunikatu. Użyj metody do zapisywania WriteEvent zdarzeń przy użyciu zlokalizowanego pliku zasobu komunikatu.

Jeśli aplikacja zapisuje wpisy przy użyciu zarówno identyfikatorów zasobów, jak i wartości ciągów, musisz zarejestrować dwa oddzielne źródła. Na przykład skonfiguruj jedno źródło z plikami zasobów, a następnie użyj tego źródła w WriteEvent metodzie do zapisu wpisów przy użyciu identyfikatorów zasobów w dzienniku zdarzeń. Następnie utwórz inne źródło bez plików zasobów i użyj tego źródła w metodzie , aby zapisywać ciągi bezpośrednio w WriteEntry dzienniku zdarzeń przy użyciu tego źródła.

Uwaga

message Jeśli parametr zawiera znak NUL, komunikat w dzienniku zdarzeń zostanie zakończony w znaku NUL.

Ciąg message nie może zawierać %n, gdzie n jest wartością całkowitą (na przykład %1), ponieważ przeglądarka zdarzeń traktuje ją jako ciąg wstawiania. Ponieważ adres protokołu internetowego w wersji 6 (IPv6) może zawierać tę sekwencję znaków, nie można zarejestrować komunikatu o zdarzeniu zawierającego adres IPv6.

Zobacz też

Dotyczy

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

Zapisuje wpis z podanym tekstem komunikatu, identyfikatorem zdarzenia zdefiniowanym przez aplikację i kategorią zdefiniowaną przez aplikację w dzienniku zdarzeń oraz dołącza dane binarne do komunikatu.

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())

Parametry

message
String

Ciąg do zapisu w dzienniku zdarzeń.

type
EventLogEntryType

Jedna z EventLogEntryType wartości.

eventID
Int32

Identyfikator specyficzny dla aplikacji dla zdarzenia.

category
Int16

Podkategoria specyficzna dla aplikacji skojarzona z komunikatem.

rawData
Byte[]

Tablica bajtów zawierająca dane binarne skojarzone z wpisem.

Wyjątki

Właściwość Source elementu EventLog nie została ustawiona.

-lub- Metoda próbowała zarejestrować nowe źródło zdarzeń, ale nazwa komputera w MachineName pliku jest nieprawidłowa.

-lub- Źródło jest już zarejestrowane dla innego dziennika zdarzeń.

-lub- eventID wartość jest mniejsza niż zero lub większa niż UInt16.MaxValue.

-lub- Ciąg komunikatu jest dłuższy niż 31 839 bajtów (32 766 bajtów w systemach operacyjnych Windows przed Windows Vista).

-lub- Nazwa źródła powoduje, że ścieżka klucza rejestru jest dłuższa niż 254 znaki.

Nie można otworzyć klucza rejestru dla dziennika zdarzeń.

type nie jest prawidłowym EventLogEntryTypeelementem .

System operacyjny zgłosił błąd podczas zapisywania wpisu zdarzenia w dzienniku zdarzeń. Kod błędu Windows jest niedostępny.

Przykłady

// 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)

Uwagi

To przeciążenie służy do zapisywania danych specyficznych dla zdarzeń zdefiniowanych przez aplikację w dzienniku zdarzeń. Podgląd zdarzeń nie interpretuje tych danych; wyświetla dane pierwotne tylko w połączonym formacie szesnastkowym i tekstowym. Używaj danych specyficznych dla zdarzeń oszczędnie, w tym tylko wtedy, gdy na pewno będzie to przydatne dla kogoś debugowania problemu. Możesz również użyć danych specyficznych dla zdarzeń do przechowywania informacji, które aplikacja może przetwarzać niezależnie od Podgląd zdarzeń. Na przykład możesz napisać przeglądarkę specjalnie dla zdarzeń lub napisać program, który skanuje plik dziennika i tworzy raporty zawierające informacje z danych specyficznych dla zdarzenia.

Oprócz danych binarnych można określić kategorię zdefiniowaną przez aplikację i identyfikator zdarzenia zdefiniowanego przez aplikację. Podgląd zdarzeń używa kategorii do filtrowania zdarzeń zapisanych przez źródło zdarzeń. Podgląd zdarzeń może wyświetlić kategorię jako wartość liczbową lub użyć kategorii jako identyfikatora zasobu w celu wyświetlenia zlokalizowanego ciągu kategorii.

Uwaga

Ciąg message nie może zawierać %n, gdzie n jest wartością całkowitą (na przykład %1), ponieważ przeglądarka zdarzeń traktuje ją jako ciąg wstawiania. Ponieważ adres protokołu internetowego w wersji 6 (IPv6) może zawierać tę sekwencję znaków, nie można zarejestrować komunikatu o zdarzeniu zawierającego adres IPv6.

Uwaga

Parametr category powinien być wartością dodatnią. Wartości kategorii ujemnych są wyświetlane jako uzupełniająca liczba dodatnia w Podgląd zdarzeń. Na przykład wartość -10 jest wyświetlana jako 65 526, a -1 jako 65 535.

Aby wyświetlić zlokalizowane ciągi kategorii w Podgląd zdarzeń, należy użyć źródła zdarzeń skonfigurowanego z plikiem zasobu kategorii i ustawić category wartość na identyfikator zasobu w pliku zasobu kategorii. Jeśli źródło zdarzeń nie ma skonfigurowanego pliku zasobu kategorii lub określony category nie indeksuje ciągu w pliku zasobu kategorii, Podgląd zdarzeń wyświetla wartość kategorii liczbowej dla tego wpisu. Skonfiguruj plik zasobu kategorii wraz z liczbą ciągów kategorii w pliku zasobu przy użyciu EventLogInstaller klasy lub EventSourceCreationData .

Identyfikatory zdarzeń wraz ze źródłem zdarzeń jednoznacznie identyfikują zdarzenie. Każda aplikacja może definiować własne zdarzenia numerowane i ciągi opisu, do których są mapowane. Osoby przeglądające zdarzenia wyświetlają te wartości ciągów, aby ułatwić użytkownikowi zrozumienie, co poszło nie tak i zasugerować, jakie działania należy wykonać.

Na koniec możesz określić zdarzenie EventLogEntryType zapisywane w dzienniku zdarzeń. Element type jest wskazywany przez ikonę i tekst w kolumnie Typ w Podgląd zdarzeń dziennika. Ten parametr wskazuje, czy typ zdarzenia to błąd, ostrzeżenie, informacje, inspekcja powodzenia lub inspekcja niepowodzeń.

Przed zapisem wpisów w dzienniku należy ustawić Source właściwość składnika EventLog . Należy utworzyć i skonfigurować źródło zdarzeń przed zapisaniem pierwszego wpisu ze źródłem.

Utwórz nowe źródło zdarzeń podczas instalacji aplikacji. Dzięki temu system operacyjny może odświeżyć listę zarejestrowanych źródeł zdarzeń i ich konfigurację. Jeśli system operacyjny nie odświeżył listy źródeł zdarzeń i spróbujesz napisać zdarzenie przy użyciu nowego źródła, operacja zapisu zakończy się niepowodzeniem. Nowe źródło można skonfigurować przy użyciu metody EventLogInstallerlub metody CreateEventSource . Aby utworzyć nowe źródło zdarzeń, musisz mieć uprawnienia administracyjne na komputerze.

Jeśli źródło określone we Source właściwości tego EventLog wystąpienia nie jest zarejestrowane na komputerze, do którego jest zapisywany składnik, WriteEntry wywołuje CreateEventSource i rejestruje źródło.

Uwaga

Jeśli nie określisz MachineName elementu dla EventLog wystąpienia przed wywołaniem lub CreateEventSource WriteEntry, zakłada się, że zostanie przyjęty komputer lokalny (".").

Jeśli system musi zarejestrować Source obiekt za pomocą wywołania , WriteEntry a Log właściwość nie została ustawiona na wystąpieniu EventLog , dziennik jest domyślnie ustawiony na dziennik aplikacji.

Uwaga

Wiele wyjątków wymienionych powyżej jest generowanych przez błędy zgłaszane podczas procesu rejestrowania Sourceobiektu .

Źródło musi być skonfigurowane do zapisywania zlokalizowanych wpisów lub zapisywania ciągów bezpośrednich. Metoda WriteEntry zapisuje dany ciąg bezpośrednio w dzienniku zdarzeń. Nie używa zlokalizowanego pliku zasobu komunikatu. Użyj metody do zapisywania WriteEvent zdarzeń przy użyciu zlokalizowanego pliku zasobu komunikatu.

Jeśli aplikacja zapisuje wpisy przy użyciu zarówno identyfikatorów zasobów, jak i wartości ciągów, musisz zarejestrować dwa oddzielne źródła. Na przykład skonfiguruj jedno źródło z plikami zasobów, a następnie użyj tego źródła w WriteEvent metodzie do zapisu wpisów przy użyciu identyfikatorów zasobów w dzienniku zdarzeń. Następnie utwórz inne źródło bez plików zasobów i użyj tego źródła w metodzie , aby zapisywać ciągi bezpośrednio w WriteEntry dzienniku zdarzeń przy użyciu tego źródła.

Uwaga

Jeśli napiszesz wpis na komputerze zdalnym, wartość komunikatu (ciąg tekstowy) może nie być oczekiwana, jeśli komputer zdalny nie uruchamia .NET Framework.

Uwaga

message Jeśli parametr zawiera znak NUL, komunikat w dzienniku zdarzeń zostanie zakończony w znaku NUL.

Zobacz też

Dotyczy

WriteEntry(String, String, EventLogEntryType, Int32)

Zapisuje wpis z podanym tekstem komunikatu i identyfikatorem zdarzenia zdefiniowanym przez aplikację w dzienniku zdarzeń przy użyciu określonego zarejestrowanego źródła zdarzeń.

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)

Parametry

source
String

Źródło, za pomocą którego aplikacja jest zarejestrowana na określonym komputerze.

message
String

Ciąg do zapisu w dzienniku zdarzeń.

type
EventLogEntryType

Jedna z EventLogEntryType wartości.

eventID
Int32

Identyfikator specyficzny dla aplikacji dla zdarzenia.

Wyjątki

Wartość source jest pustym ciągiem ("").

-lub- Wartość elementu source to null.

-lub- eventID wartość jest mniejsza niż zero lub większa niż UInt16.MaxValue.

-lub- Ciąg komunikatu jest dłuższy niż 31 839 bajtów (32 766 bajtów w systemach operacyjnych Windows przed Windows Vista).

-lub- Nazwa źródła powoduje, że ścieżka klucza rejestru jest dłuższa niż 254 znaki.

Nie można otworzyć klucza rejestru dla dziennika zdarzeń.

type nie jest prawidłowym EventLogEntryTypeelementem .

System operacyjny zgłosił błąd podczas zapisywania wpisu zdarzenia w dzienniku zdarzeń. Kod błędu Windows jest niedostępny.

Przykłady

// 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)

Uwagi

Użyj tej metody, aby napisać wpis z dziennikiem zdarzeń zdefiniowanym eventID przez aplikację przy użyciu źródła, które zostało już zarejestrowane jako źródło zdarzeń dla odpowiedniego dziennika. Element eventID, wraz ze źródłem, jednoznacznie identyfikuje zdarzenie. Każda aplikacja może definiować własne zdarzenia numerowane i ciągi opisu, do których są mapowane. Osoby przeglądające zdarzenia przedstawiają te ciągi użytkownikowi, aby pomóc użytkownikowi zrozumieć, co poszło nie tak i zasugerować, jakie działania należy wykonać.

Uwaga

Ciąg message nie może zawierać %n, gdzie n jest wartością całkowitą (na przykład %1), ponieważ przeglądarka zdarzeń traktuje ją jako ciąg wstawiania. Ponieważ adres protokołu internetowego w wersji 6 (IPv6) może zawierać tę sekwencję znaków, nie można zarejestrować komunikatu o zdarzeniu zawierającego adres IPv6.

Oprócz identyfikatora zdarzenia to przeciążenie WriteEntry umożliwia określenie EventLogEntryType zdarzenia zapisywanego w dzienniku zdarzeń. Element type jest wskazywany przez ikonę i tekst w kolumnie Typ w Podgląd zdarzeń dziennika. Ten parametr wskazuje, czy typ zdarzenia to błąd, ostrzeżenie, informacje, inspekcja powodzenia lub inspekcja niepowodzeń.

Należy utworzyć i skonfigurować źródło zdarzeń przed zapisaniem pierwszego wpisu ze źródłem. Utwórz nowe źródło zdarzeń podczas instalacji aplikacji. Dzięki temu system operacyjny może odświeżyć listę zarejestrowanych źródeł zdarzeń i ich konfigurację. Jeśli system operacyjny nie odświeżył listy źródeł zdarzeń i spróbujesz napisać zdarzenie przy użyciu nowego źródła, operacja zapisu zakończy się niepowodzeniem. Nowe źródło można skonfigurować przy użyciu metody EventLogInstallerlub metody CreateEventSource . Aby utworzyć nowe źródło zdarzeń, musisz mieć uprawnienia administracyjne na komputerze.

Źródło musi być skonfigurowane do zapisywania zlokalizowanych wpisów lub zapisywania ciągów bezpośrednich. Metoda WriteEntry zapisuje dany ciąg bezpośrednio w dzienniku zdarzeń. Nie używa zlokalizowanego pliku zasobu komunikatu. Użyj metody do zapisywania WriteEvent zdarzeń przy użyciu zlokalizowanego pliku zasobu komunikatu.

Jeśli aplikacja zapisuje wpisy przy użyciu zarówno identyfikatorów zasobów, jak i wartości ciągów, musisz zarejestrować dwa oddzielne źródła. Na przykład skonfiguruj jedno źródło z plikami zasobów, a następnie użyj tego źródła w WriteEvent metodzie do zapisu wpisów przy użyciu identyfikatorów zasobów w dzienniku zdarzeń. Następnie utwórz inne źródło bez plików zasobów i użyj tego źródła w metodzie , aby zapisywać ciągi bezpośrednio w WriteEntry dzienniku zdarzeń przy użyciu tego źródła.

Uwaga

message Jeśli parametr zawiera znak NUL, komunikat w dzienniku zdarzeń zostanie zakończony w znaku NUL.

Zobacz też

Dotyczy

WriteEntry(String, EventLogEntryType, Int32, Int16)

Zapisuje wpis z podanym tekstem komunikatu, identyfikatorem zdarzenia zdefiniowanym przez aplikację i kategorią zdefiniowaną przez aplikację w dzienniku zdarzeń.

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)

Parametry

message
String

Ciąg do zapisu w dzienniku zdarzeń.

type
EventLogEntryType

Jedna z EventLogEntryType wartości.

eventID
Int32

Identyfikator specyficzny dla aplikacji dla zdarzenia.

category
Int16

Podkategoria specyficzna dla aplikacji skojarzona z komunikatem.

Wyjątki

Właściwość Source elementu EventLog nie została ustawiona.

-lub- Metoda próbowała zarejestrować nowe źródło zdarzeń, ale nazwa komputera w MachineName pliku jest nieprawidłowa.

-lub- Źródło jest już zarejestrowane dla innego dziennika zdarzeń.

-lub- eventID wartość jest mniejsza niż zero lub większa niż UInt16.MaxValue.

-lub- Ciąg komunikatu jest dłuższy niż 31 839 bajtów (32 766 bajtów w systemach operacyjnych Windows przed Windows Vista).

-lub- Nazwa źródła powoduje, że ścieżka klucza rejestru jest dłuższa niż 254 znaki.

Nie można otworzyć klucza rejestru dla dziennika zdarzeń.

type nie jest prawidłowym EventLogEntryTypeelementem .

System operacyjny zgłosił błąd podczas zapisywania wpisu zdarzenia w dzienniku zdarzeń. Kod błędu Windows jest niedostępny.

Przykłady

// 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)

Uwagi

Użyj tej metody, aby napisać wpis z zdefiniowanym category przez aplikację dziennikiem zdarzeń. Podgląd zdarzeń używa kategorii do filtrowania zdarzeń zapisanych przez źródło zdarzeń. Podgląd zdarzeń może wyświetlić kategorię jako wartość liczbową lub użyć kategorii jako identyfikatora zasobu w celu wyświetlenia zlokalizowanego ciągu kategorii.

Uwaga

Parametr category powinien być wartością dodatnią. Wartości kategorii ujemnych są wyświetlane jako uzupełniająca liczba dodatnia w Podgląd zdarzeń. Na przykład wartość -10 jest wyświetlana jako 65 526, a -1 jako 65 535.

Uwaga

Ciąg message nie może zawierać %n, gdzie n jest wartością całkowitą (na przykład %1), ponieważ przeglądarka zdarzeń traktuje ją jako ciąg wstawiania. Ponieważ adres protokołu internetowego w wersji 6 (IPv6) może zawierać tę sekwencję znaków, nie można zarejestrować komunikatu o zdarzeniu zawierającego adres IPv6.

Aby wyświetlić zlokalizowane ciągi kategorii w Podgląd zdarzeń, należy użyć źródła zdarzeń skonfigurowanego z plikiem zasobu kategorii i ustawić category wartość na identyfikator zasobu w pliku zasobu kategorii. Jeśli źródło zdarzeń nie ma skonfigurowanego pliku zasobu kategorii lub określony category nie indeksuje ciągu w pliku zasobu kategorii, Podgląd zdarzeń wyświetla wartość kategorii liczbowej dla tego wpisu. Skonfiguruj plik zasobu kategorii wraz z liczbą ciągów kategorii w pliku zasobu przy użyciu EventLogInstaller klasy lub EventSourceCreationData .

Oprócz kategorii można określić identyfikator zdarzenia zapisywanego w dzienniku zdarzeń. Identyfikatory zdarzeń wraz ze źródłem zdarzeń jednoznacznie identyfikują zdarzenie. Każda aplikacja może definiować własne zdarzenia numerowane i ciągi opisu, do których są mapowane. Osoby przeglądające zdarzenia wyświetlają te wartości ciągów, aby ułatwić użytkownikowi zrozumienie, co poszło nie tak i zasugerować, jakie działania należy wykonać.

Na koniec możesz określić zdarzenie EventLogEntryType zapisywane w dzienniku zdarzeń. Element type jest wskazywany przez ikonę i tekst w kolumnie Typ w Podgląd zdarzeń dziennika. Ten parametr wskazuje, czy typ zdarzenia to błąd, ostrzeżenie, informacje, inspekcja powodzenia lub inspekcja niepowodzeń.

Przed zapisem wpisów w dzienniku należy ustawić Source właściwość składnika EventLog . Należy utworzyć i skonfigurować źródło zdarzeń przed zapisaniem pierwszego wpisu ze źródłem.

Utwórz nowe źródło zdarzeń podczas instalacji aplikacji. Dzięki temu system operacyjny może odświeżyć listę zarejestrowanych źródeł zdarzeń i ich konfigurację. Jeśli system operacyjny nie odświeżył listy źródeł zdarzeń i spróbujesz napisać zdarzenie przy użyciu nowego źródła, operacja zapisu zakończy się niepowodzeniem. Nowe źródło można skonfigurować przy użyciu metody EventLogInstallerlub metody CreateEventSource . Aby utworzyć nowe źródło zdarzeń, musisz mieć uprawnienia administracyjne na komputerze.

Jeśli źródło określone we Source właściwości tego EventLog wystąpienia nie jest zarejestrowane na komputerze, do którego jest zapisywany składnik, WriteEntry wywołuje CreateEventSource i rejestruje źródło.

Uwaga

Jeśli nie określisz MachineName elementu dla EventLog wystąpienia przed wywołaniem lub CreateEventSource WriteEntry, zakłada się, że zostanie przyjęty komputer lokalny (".").

Jeśli system musi zarejestrować Source obiekt za pomocą wywołania , WriteEntry a Log właściwość nie została ustawiona na wystąpieniu EventLog , dziennik jest domyślnie ustawiony na dziennik aplikacji.

Uwaga

Wiele wyjątków wymienionych powyżej jest generowanych przez błędy zgłaszane podczas procesu rejestrowania Sourceobiektu .

Źródło musi być skonfigurowane do zapisywania zlokalizowanych wpisów lub zapisywania ciągów bezpośrednich. Metoda WriteEntry zapisuje dany ciąg bezpośrednio w dzienniku zdarzeń. Nie używa zlokalizowanego pliku zasobu komunikatu. Użyj metody do zapisywania WriteEvent zdarzeń przy użyciu zlokalizowanego pliku zasobu komunikatu.

Jeśli aplikacja zapisuje wpisy przy użyciu zarówno identyfikatorów zasobów, jak i wartości ciągów, musisz zarejestrować dwa oddzielne źródła. Na przykład skonfiguruj jedno źródło z plikami zasobów, a następnie użyj tego źródła w WriteEvent metodzie do zapisu wpisów przy użyciu identyfikatorów zasobów w dzienniku zdarzeń. Następnie utwórz inne źródło bez plików zasobów i użyj tego źródła w metodzie , aby zapisywać ciągi bezpośrednio w WriteEntry dzienniku zdarzeń przy użyciu tego źródła.

Uwaga

Jeśli napiszesz wpis na komputerze zdalnym, wartość komunikatu (ciąg tekstowy) może nie być oczekiwana, jeśli komputer zdalny nie uruchamia .NET Framework.

Uwaga

message Jeśli parametr zawiera znak NUL, komunikat w dzienniku zdarzeń zostanie zakończony w znaku NUL.

Zobacz też

Dotyczy

WriteEntry(String, EventLogEntryType)

Zapisuje błąd, ostrzeżenie, informacje, inspekcję powodzenia lub wpis inspekcji niepowodzenia z podanym tekstem komunikatu do dziennika zdarzeń.

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)

Parametry

message
String

Ciąg do zapisu w dzienniku zdarzeń.

type
EventLogEntryType

Jedna z EventLogEntryType wartości.

Wyjątki

Właściwość Source elementu EventLog nie została ustawiona.

-lub- Metoda próbowała zarejestrować nowe źródło zdarzeń, ale nazwa komputera w MachineName pliku jest nieprawidłowa.

-lub- Źródło jest już zarejestrowane dla innego dziennika zdarzeń.

-lub- Ciąg komunikatu jest dłuższy niż 31 839 bajtów (32 766 bajtów w systemach operacyjnych Windows przed Windows Vista).

-lub- Nazwa źródła powoduje, że ścieżka klucza rejestru jest dłuższa niż 254 znaki.

type nie jest prawidłowym EventLogEntryTypeelementem .

Nie można otworzyć klucza rejestru dla dziennika zdarzeń.

System operacyjny zgłosił błąd podczas zapisywania wpisu zdarzenia w dzienniku zdarzeń. Kod błędu Windows jest niedostępny.

Przykłady

Poniższy przykład zapisuje wpis ostrzegawczy w dzienniku zdarzeń "MyNewLog" na komputerze lokalnym.

#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

Uwagi

Ta metoda służy do zapisywania wpisu określonego EventLogEntryType w dzienniku zdarzeń. Element type jest wskazywany przez ikonę i tekst w kolumnie Typ w Podgląd zdarzeń dziennika.

Uwaga

Ciąg message nie może zawierać %n, gdzie n jest wartością całkowitą (na przykład %1), ponieważ przeglądarka zdarzeń traktuje ją jako ciąg wstawiania. Ponieważ adres protokołu internetowego w wersji 6 (IPv6) może zawierać tę sekwencję znaków, nie można zarejestrować komunikatu o zdarzeniu zawierającego adres IPv6.

Przed zapisem wpisów w dzienniku należy ustawić Source właściwość składnika EventLog . Należy utworzyć i skonfigurować źródło zdarzeń przed zapisaniem pierwszego wpisu ze źródłem.

Utwórz nowe źródło zdarzeń podczas instalacji aplikacji. Dzięki temu system operacyjny może odświeżyć listę zarejestrowanych źródeł zdarzeń i ich konfigurację. Jeśli system operacyjny nie odświeżył listy źródeł zdarzeń i spróbujesz napisać zdarzenie przy użyciu nowego źródła, operacja zapisu zakończy się niepowodzeniem. Nowe źródło można skonfigurować przy użyciu metody EventLogInstallerlub metody CreateEventSource . Aby utworzyć nowe źródło zdarzeń, musisz mieć uprawnienia administracyjne na komputerze.

Jeśli źródło określone we Source właściwości tego EventLog wystąpienia nie jest zarejestrowane na komputerze, do którego jest zapisywany składnik, WriteEntry wywołuje CreateEventSource i rejestruje źródło.

Uwaga

Jeśli nie określisz MachineName elementu dla EventLog wystąpienia przed wywołaniem lub CreateEventSource WriteEntry, zakłada się, że zostanie przyjęty komputer lokalny (".").

Jeśli system musi zarejestrować Source obiekt za pomocą wywołania , WriteEntry a Log właściwość nie została ustawiona na wystąpieniu EventLog , dziennik jest domyślnie ustawiony na dziennik aplikacji.

Uwaga

Wiele wyjątków wymienionych powyżej jest generowanych przez błędy zgłaszane podczas procesu rejestrowania Sourceobiektu .

Źródło musi być skonfigurowane do zapisywania zlokalizowanych wpisów lub zapisywania ciągów bezpośrednich. Metoda WriteEntry zapisuje dany ciąg bezpośrednio w dzienniku zdarzeń. Nie używa zlokalizowanego pliku zasobu komunikatu. Użyj metody do zapisywania WriteEvent zdarzeń przy użyciu zlokalizowanego pliku zasobu komunikatu.

Jeśli aplikacja zapisuje wpisy przy użyciu zarówno identyfikatorów zasobów, jak i wartości ciągów, musisz zarejestrować dwa oddzielne źródła. Na przykład skonfiguruj jedno źródło z plikami zasobów, a następnie użyj tego źródła w WriteEvent metodzie do zapisu wpisów przy użyciu identyfikatorów zasobów w dzienniku zdarzeń. Następnie utwórz inne źródło bez plików zasobów i użyj tego źródła w metodzie , aby zapisywać ciągi bezpośrednio w WriteEntry dzienniku zdarzeń przy użyciu tego źródła.

Uwaga

Jeśli napiszesz wpis na komputerze zdalnym, wartość komunikatu (ciąg tekstowy) może nie być oczekiwana, jeśli komputer zdalny nie uruchamia .NET Framework.

Uwaga

message Jeśli parametr zawiera znak NUL, komunikat w dzienniku zdarzeń zostanie zakończony w znaku NUL.

Zobacz też

Dotyczy

WriteEntry(String, EventLogEntryType, Int32)

Zapisuje wpis z podanym tekstem komunikatu i identyfikatorem zdarzenia zdefiniowanym przez aplikację w dzienniku zdarzeń.

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)

Parametry

message
String

Ciąg do zapisu w dzienniku zdarzeń.

type
EventLogEntryType

Jedna z EventLogEntryType wartości.

eventID
Int32

Identyfikator specyficzny dla aplikacji dla zdarzenia.

Wyjątki

Właściwość Source elementu EventLog nie została ustawiona.

-lub- Metoda próbowała zarejestrować nowe źródło zdarzeń, ale nazwa komputera w MachineName pliku jest nieprawidłowa.

-lub- Źródło jest już zarejestrowane dla innego dziennika zdarzeń.

-lub- eventID wartość jest mniejsza niż zero lub większa niż UInt16.MaxValue.

-lub- Ciąg komunikatu jest dłuższy niż 31 839 bajtów (32 766 bajtów w systemach operacyjnych Windows przed Windows Vista).

-lub- Nazwa źródła powoduje, że ścieżka klucza rejestru jest dłuższa niż 254 znaki.

Nie można otworzyć klucza rejestru dla dziennika zdarzeń.

type nie jest prawidłowym EventLogEntryTypeelementem .

System operacyjny zgłosił błąd podczas zapisywania wpisu zdarzenia w dzienniku zdarzeń. Kod błędu Windows jest niedostępny.

Przykłady

// 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)

Uwagi

Użyj tej metody, aby napisać wpis z zdefiniowanym eventID przez aplikację dziennikiem zdarzeń. Element eventID wraz ze źródłem jednoznacznie identyfikuje zdarzenie. Każda aplikacja może definiować własne zdarzenia numerowane i ciągi opisu, do których są mapowane. Osoby przeglądające zdarzenia wyświetlają te wartości ciągów, aby ułatwić użytkownikowi zrozumienie, co poszło nie tak i zasugerować, jakie działania należy wykonać.

Uwaga

Ciąg message nie może zawierać %n, gdzie n jest wartością całkowitą (na przykład %1), ponieważ przeglądarka zdarzeń traktuje ją jako ciąg wstawiania. Ponieważ adres protokołu internetowego w wersji 6 (IPv6) może zawierać tę sekwencję znaków, nie można zarejestrować komunikatu o zdarzeniu zawierającego adres IPv6.

Oprócz identyfikatora zdarzenia można określić EventLogEntryType zdarzenie zapisywane w dzienniku zdarzeń. Element type jest wskazywany przez ikonę i tekst w kolumnie Typ w Podgląd zdarzeń dziennika. Ten parametr wskazuje, czy typ zdarzenia to błąd, ostrzeżenie, informacje, inspekcja powodzenia lub inspekcja niepowodzeń.

Przed zapisem wpisów w dzienniku należy ustawić Source właściwość składnika EventLog . Należy utworzyć i skonfigurować źródło zdarzeń przed zapisaniem pierwszego wpisu ze źródłem.

Utwórz nowe źródło zdarzeń podczas instalacji aplikacji. Dzięki temu system operacyjny może odświeżyć listę zarejestrowanych źródeł zdarzeń i ich konfigurację. Jeśli system operacyjny nie odświeżył listy źródeł zdarzeń i spróbujesz napisać zdarzenie przy użyciu nowego źródła, operacja zapisu zakończy się niepowodzeniem. Nowe źródło można skonfigurować przy użyciu metody EventLogInstallerlub metody CreateEventSource . Aby utworzyć nowe źródło zdarzeń, musisz mieć uprawnienia administracyjne na komputerze.

Jeśli źródło określone we Source właściwości tego EventLog wystąpienia nie jest zarejestrowane na komputerze, do którego jest zapisywany składnik, WriteEntry wywołuje CreateEventSource i rejestruje źródło.

Uwaga

Jeśli nie określisz MachineName elementu dla EventLog wystąpienia przed wywołaniem lub CreateEventSource WriteEntry, zakłada się, że zostanie przyjęty komputer lokalny (".").

Jeśli system musi zarejestrować Source obiekt za pomocą wywołania , WriteEntry a Log właściwość nie została ustawiona na wystąpieniu EventLog , dziennik jest domyślnie ustawiony na dziennik aplikacji.

Uwaga

Wiele wyjątków wymienionych powyżej jest generowanych przez błędy zgłaszane podczas procesu rejestrowania Sourceobiektu .

Źródło musi być skonfigurowane do zapisywania zlokalizowanych wpisów lub zapisywania ciągów bezpośrednich. Metoda WriteEntry zapisuje dany ciąg bezpośrednio w dzienniku zdarzeń. Nie używa zlokalizowanego pliku zasobu komunikatu. Użyj metody do zapisywania WriteEvent zdarzeń przy użyciu zlokalizowanego pliku zasobu komunikatu.

Jeśli aplikacja zapisuje wpisy przy użyciu zarówno identyfikatorów zasobów, jak i wartości ciągów, musisz zarejestrować dwa oddzielne źródła. Na przykład skonfiguruj jedno źródło z plikami zasobów, a następnie użyj tego źródła w WriteEvent metodzie do zapisu wpisów przy użyciu identyfikatorów zasobów w dzienniku zdarzeń. Następnie utwórz inne źródło bez plików zasobów i użyj tego źródła w metodzie , aby zapisywać ciągi bezpośrednio w WriteEntry dzienniku zdarzeń przy użyciu tego źródła.

Uwaga

Jeśli napiszesz wpis na komputerze zdalnym, wartość komunikatu (ciąg tekstowy) może nie być oczekiwana, jeśli komputer zdalny nie uruchamia .NET Framework.

Uwaga

message Jeśli parametr zawiera znak NUL, komunikat w dzienniku zdarzeń zostanie zakończony w znaku NUL.

Zobacz też

Dotyczy

WriteEntry(String, String)

Zapisuje wpis typu informacji z podanym tekstem wiadomości do dziennika zdarzeń przy użyciu określonego zarejestrowanego źródła zdarzeń.

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)

Parametry

source
String

Źródło, za pomocą którego aplikacja jest zarejestrowana na określonym komputerze.

message
String

Ciąg do zapisu w dzienniku zdarzeń.

Wyjątki

Wartość source jest pustym ciągiem ("").

-lub- Wartość elementu source to null.

-lub- Ciąg komunikatu jest dłuższy niż 31 839 bajtów (32 766 bajtów w systemach operacyjnych Windows przed Windows Vista).

-lub- Nazwa źródła powoduje, że ścieżka klucza rejestru jest dłuższa niż 254 znaki.

Nie można otworzyć klucza rejestru dla dziennika zdarzeń.

System operacyjny zgłosił błąd podczas zapisywania wpisu zdarzenia w dzienniku zdarzeń. Kod błędu Windows jest niedostępny.

Przykłady

Poniższy przykład tworzy źródło MySource , jeśli jeszcze nie istnieje, i zapisuje wpis w dzienniku MyNewLogzdarzeń .

#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

Uwagi

Ta metoda służy do zapisywania wpisu informacji w dzienniku zdarzeń przy użyciu źródła, które jest już zarejestrowane jako źródło zdarzeń dla odpowiedniego dziennika. Jeśli chcesz określić dowolny inny EventLogEntryTypeelement , użyj innego przeciążenia .WriteEntry

Należy utworzyć i skonfigurować źródło zdarzeń przed zapisaniem pierwszego wpisu ze źródłem. Utwórz nowe źródło zdarzeń podczas instalacji aplikacji. Dzięki temu system operacyjny może odświeżyć listę zarejestrowanych źródeł zdarzeń i ich konfigurację. Jeśli system operacyjny nie odświeżył listy źródeł zdarzeń i spróbujesz napisać zdarzenie przy użyciu nowego źródła, operacja zapisu zakończy się niepowodzeniem. Nowe źródło można skonfigurować przy użyciu metody EventLogInstallerlub metody CreateEventSource . Aby utworzyć nowe źródło zdarzeń, musisz mieć uprawnienia administracyjne na komputerze.

Źródło musi być skonfigurowane do zapisywania zlokalizowanych wpisów lub zapisywania ciągów bezpośrednich. Metoda WriteEntry zapisuje dany ciąg bezpośrednio w dzienniku zdarzeń. Nie używa zlokalizowanego pliku zasobu komunikatu. Użyj metody do zapisywania WriteEvent zdarzeń przy użyciu zlokalizowanego pliku zasobu komunikatu.

Jeśli aplikacja zapisuje wpisy przy użyciu zarówno identyfikatorów zasobów, jak i wartości ciągów, musisz zarejestrować dwa oddzielne źródła. Na przykład skonfiguruj jedno źródło z plikami zasobów, a następnie użyj tego źródła w WriteEvent metodzie do zapisu wpisów przy użyciu identyfikatorów zasobów w dzienniku zdarzeń. Następnie utwórz inne źródło bez plików zasobów i użyj tego źródła w metodzie , aby zapisywać ciągi bezpośrednio w WriteEntry dzienniku zdarzeń przy użyciu tego źródła.

Uwaga

message Jeśli parametr zawiera znak NUL, komunikat w dzienniku zdarzeń zostanie zakończony w znaku NUL.

Ciąg message nie może zawierać %n, gdzie n jest wartością całkowitą (na przykład %1), ponieważ przeglądarka zdarzeń traktuje ją jako ciąg wstawiania. Ponieważ adres protokołu internetowego w wersji 6 (IPv6) może zawierać tę sekwencję znaków, nie można zarejestrować komunikatu o zdarzeniu zawierającego adres IPv6.

Zobacz też

Dotyczy

WriteEntry(String)

Zapisuje wpis typu informacji z podanym tekstem wiadomości do dziennika zdarzeń.

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

Parametry

message
String

Ciąg do zapisu w dzienniku zdarzeń.

Wyjątki

Właściwość Source elementu EventLog nie została ustawiona.

-lub- Metoda próbowała zarejestrować nowe źródło zdarzeń, ale nazwa komputera w MachineName pliku jest nieprawidłowa.

-lub- Źródło jest już zarejestrowane dla innego dziennika zdarzeń.

-lub- Ciąg komunikatu jest dłuższy niż 31 839 bajtów (32 766 bajtów w systemach operacyjnych Windows przed Windows Vista).

-lub- Nazwa źródła powoduje, że ścieżka klucza rejestru jest dłuższa niż 254 znaki.

Nie można otworzyć klucza rejestru dla dziennika zdarzeń.

System operacyjny zgłosił błąd podczas zapisywania wpisu zdarzenia w dzienniku zdarzeń. Kod błędu Windows jest niedostępny.

Przykłady

Poniższy przykład tworzy źródło MySource , jeśli jeszcze nie istnieje, i zapisuje wpis w dzienniku MyNewLogzdarzeń .

#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

Uwagi

Użyj tej metody, aby zapisać wpis informacji w dzienniku zdarzeń skojarzonym z tym EventLog wystąpieniem. Jeśli chcesz określić dowolny inny EventLogEntryTypeelement , użyj innego przeciążenia .WriteEntry

Uwaga

Ciąg message nie może zawierać %n, gdzie n jest wartością całkowitą (na przykład %1), ponieważ przeglądarka zdarzeń traktuje ją jako ciąg wstawiania. Ponieważ adres protokołu internetowego w wersji 6 (IPv6) może zawierać tę sekwencję znaków, nie można zarejestrować komunikatu o zdarzeniu zawierającego adres IPv6.

Przed zapisem wpisów w dzienniku należy ustawić Source właściwość składnika EventLog . Należy utworzyć i skonfigurować źródło zdarzeń przed zapisaniem pierwszego wpisu ze źródłem.

Utwórz nowe źródło zdarzeń podczas instalacji aplikacji. Dzięki temu system operacyjny może odświeżyć listę zarejestrowanych źródeł zdarzeń i ich konfigurację. Jeśli system operacyjny nie odświeżył listy źródeł zdarzeń i spróbujesz napisać zdarzenie przy użyciu nowego źródła, operacja zapisu zakończy się niepowodzeniem. Nowe źródło można skonfigurować przy użyciu metody EventLogInstallerlub metody CreateEventSource . Aby utworzyć nowe źródło zdarzeń, musisz mieć uprawnienia administracyjne na komputerze.

Jeśli źródło określone we Source właściwości tego EventLog wystąpienia nie jest zarejestrowane na komputerze, do którego jest zapisywany składnik, WriteEntry wywołuje CreateEventSource i rejestruje źródło.

Uwaga

Jeśli nie określisz MachineName elementu dla EventLog wystąpienia przed wywołaniem lub CreateEventSource WriteEntry, zakłada się, że zostanie przyjęty komputer lokalny (".").

Jeśli system musi zarejestrować Source obiekt za pomocą wywołania , WriteEntry a Log właściwość nie została ustawiona na wystąpieniu EventLog , dziennik jest domyślnie ustawiony na dziennik aplikacji.

Uwaga

Wiele wyjątków wymienionych powyżej jest generowanych przez błędy zgłaszane podczas procesu rejestrowania Sourceelementu .

Źródło musi być skonfigurowane do zapisywania zlokalizowanych wpisów lub zapisywania ciągów bezpośrednich. Metoda WriteEntry zapisuje dany ciąg bezpośrednio w dzienniku zdarzeń. Nie używa zlokalizowanego pliku zasobu komunikatu. Użyj metody do zapisywania WriteEvent zdarzeń przy użyciu zlokalizowanego pliku zasobu komunikatu.

Jeśli aplikacja zapisuje wpisy przy użyciu zarówno identyfikatorów zasobów, jak i wartości ciągów, musisz zarejestrować dwa oddzielne źródła. Na przykład skonfiguruj jedno źródło z plikami zasobów, a następnie użyj tego źródła w WriteEvent metodzie do zapisu wpisów przy użyciu identyfikatorów zasobów w dzienniku zdarzeń. Następnie utwórz inne źródło bez plików zasobów i użyj tego źródła w metodzie , aby zapisywać ciągi bezpośrednio w WriteEntry dzienniku zdarzeń przy użyciu tego źródła.

Uwaga

Jeśli napiszesz wpis na komputerze zdalnym, wartość komunikatu (ciąg tekstowy) może nie być oczekiwana, jeśli komputer zdalny nie uruchamia .NET Framework.

Uwaga

message Jeśli parametr zawiera znak NUL, komunikat w dzienniku zdarzeń zostanie zakończony w znaku NUL.

Zobacz też

Dotyczy

WriteEntry(String, String, EventLogEntryType)

Zapisuje błąd, ostrzeżenie, informacje, inspekcję powodzenia lub wpis inspekcji niepowodzenia z podanym tekstem komunikatu do dziennika zdarzeń przy użyciu określonego zarejestrowanego źródła zdarzeń.

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)

Parametry

source
String

Źródło, za pomocą którego aplikacja jest zarejestrowana na określonym komputerze.

message
String

Ciąg do zapisu w dzienniku zdarzeń.

type
EventLogEntryType

Jedna z EventLogEntryType wartości.

Wyjątki

Wartość source jest pustym ciągiem ("").

-lub- Wartość elementu source to null.

-lub- Ciąg komunikatu jest dłuższy niż 31 839 bajtów (32 766 bajtów w systemach operacyjnych Windows przed Windows Vista).

-lub- Nazwa źródła powoduje, że ścieżka klucza rejestru jest dłuższa niż 254 znaki.

Nie można otworzyć klucza rejestru dla dziennika zdarzeń.

type nie jest prawidłowym EventLogEntryTypeelementem .

System operacyjny zgłosił błąd podczas zapisywania wpisu zdarzenia w dzienniku zdarzeń. Kod błędu Windows jest niedostępny.

Przykłady

Poniższy przykład zapisuje wpis ostrzegawczy w dzienniku zdarzeń "MyNewLog" na komputerze lokalnym.

#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

Uwagi

Ta metoda służy do zapisywania wpisu określonego EventLogEntryType w dzienniku zdarzeń przy użyciu źródła, które zostało już zarejestrowane jako źródło zdarzeń dla odpowiedniego dziennika. Element type jest wskazywany przez ikonę i tekst w kolumnie Typ w Podgląd zdarzeń dziennika.

Uwaga

Ciąg message nie może zawierać %n, gdzie n jest wartością całkowitą (na przykład %1), ponieważ przeglądarka zdarzeń traktuje ją jako ciąg wstawiania. Ponieważ adres protokołu internetowego w wersji 6 (IPv6) może zawierać tę sekwencję znaków, nie można zarejestrować komunikatu o zdarzeniu zawierającego adres IPv6.

Należy utworzyć i skonfigurować źródło zdarzeń przed zapisaniem pierwszego wpisu ze źródłem. Utwórz nowe źródło zdarzeń podczas instalacji aplikacji. Dzięki temu system operacyjny może odświeżyć listę zarejestrowanych źródeł zdarzeń i ich konfigurację. Jeśli system operacyjny nie odświeżył listy źródeł zdarzeń i spróbujesz napisać zdarzenie przy użyciu nowego źródła, operacja zapisu zakończy się niepowodzeniem. Nowe źródło można skonfigurować przy użyciu metody EventLogInstallerlub metody CreateEventSource . Aby utworzyć nowe źródło zdarzeń, musisz mieć uprawnienia administracyjne na komputerze.

Źródło musi być skonfigurowane do zapisywania zlokalizowanych wpisów lub zapisywania ciągów bezpośrednich. Metoda WriteEntry zapisuje dany ciąg bezpośrednio w dzienniku zdarzeń. Nie używa zlokalizowanego pliku zasobu komunikatu. Użyj metody do zapisywania WriteEvent zdarzeń przy użyciu zlokalizowanego pliku zasobu komunikatu.

Jeśli aplikacja zapisuje wpisy przy użyciu zarówno identyfikatorów zasobów, jak i wartości ciągów, musisz zarejestrować dwa oddzielne źródła. Na przykład skonfiguruj jedno źródło z plikami zasobów, a następnie użyj tego źródła w WriteEvent metodzie do zapisu wpisów przy użyciu identyfikatorów zasobów w dzienniku zdarzeń. Następnie utwórz inne źródło bez plików zasobów i użyj tego źródła w metodzie , aby zapisywać ciągi bezpośrednio w WriteEntry dzienniku zdarzeń przy użyciu tego źródła.

Uwaga

message Jeśli parametr zawiera znak NUL, komunikat w dzienniku zdarzeń zostanie zakończony w znaku NUL.

Zobacz też

Dotyczy