다음을 통해 공유


EventLog.WriteEntry 메서드

정의

이벤트 로그에 항목을 씁니다.

오버로드

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

지정된 메시지 텍스트, 애플리케이션 정의 이벤트 식별자 및 애플리케이션 정의 범주가 있는 항목을 이벤트 로그에 쓰고(지정된 등록된 이벤트 원본 사용) 메시지에 이진 데이터를 추가합니다.

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

지정된 등록된 이벤트 원본을 사용하여 지정된 메시지 텍스트, 애플리케이션 정의 이벤트 식별자 및 애플리케이션 정의 범주가 있는 항목을 이벤트 로그에 씁니다. 이벤트 category 뷰어에서 로그의 이벤트를 필터링하는 데 사용할 수 있습니다.

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

지정된 메시지 텍스트, 애플리케이션 정의 이벤트 식별자 및 애플리케이션 정의 범주가 포함된 항목을 이벤트 로그에 쓰고 메시지에 이진 데이터를 추가합니다.

WriteEntry(String, String, EventLogEntryType, Int32)

지정된 등록된 이벤트 원본을 사용하여 지정된 메시지 텍스트와 애플리케이션 정의 이벤트 식별자가 있는 항목을 이벤트 로그에 씁니다.

WriteEntry(String, EventLogEntryType, Int32, Int16)

지정된 메시지 텍스트, 애플리케이션 정의 이벤트 식별자 및 애플리케이션 정의 범주가 포함된 항목을 이벤트 로그에 씁니다.

WriteEntry(String, EventLogEntryType)

이벤트 로그에 지정된 메시지 텍스트와 함께 오류, 경고, 정보, 성공 감사 또는 실패 감사 항목을 씁니다.

WriteEntry(String, EventLogEntryType, Int32)

지정된 메시지 텍스트와 애플리케이션 정의 이벤트 식별자가 있는 항목을 이벤트 로그에 씁니다.

WriteEntry(String, String)

지정된 등록된 이벤트 원본을 사용하여 지정된 메시지 텍스트가 포함된 정보 유형 항목을 이벤트 로그에 씁니다.

WriteEntry(String)

지정된 메시지 텍스트와 함께 정보 유형 항목을 이벤트 로그에 씁니다.

WriteEntry(String, String, EventLogEntryType)

지정된 등록된 이벤트 원본을 사용하여 지정된 메시지 텍스트가 포함된 오류, 경고, 정보, 성공 감사 또는 실패 감사 항목을 이벤트 로그에 씁니다.

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

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

지정된 메시지 텍스트, 애플리케이션 정의 이벤트 식별자 및 애플리케이션 정의 범주가 있는 항목을 이벤트 로그에 쓰고(지정된 등록된 이벤트 원본 사용) 메시지에 이진 데이터를 추가합니다.

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

매개 변수

source
String

애플리케이션이 지정된 컴퓨터에 등록된 원본입니다.

message
String

이벤트 로그에 쓸 문자열입니다.

type
EventLogEntryType

값 중 EventLogEntryType 하나입니다.

eventID
Int32

이벤트에 대한 애플리케이션별 식별자입니다.

category
Int16

메시지와 연결된 애플리케이션별 하위 범주입니다.

rawData
Byte[]

항목과 연결된 이진 데이터를 보유하는 바이트 배열입니다.

예외

값은 source 빈 문자열("")입니다.

-또는-

값은 source .입니다 null.

-또는-

eventID 가 0보다 작거나 UInt16.MaxValue보다 큽니다.

-또는-

메시지 문자열이 31,839바이트보다 깁니다(Windows Vista 이전의 Windows 운영 체제에서는 32,766바이트).

-또는-

원본 이름으로 인해 레지스트리 키 경로가 254자보다 깁니다.

type 유효한 EventLogEntryType아닙니다.

이벤트 로그의 레지스트리 키를 열 수 없습니다.

이벤트 로그에 이벤트 항목을 쓸 때 운영 체제에서 오류를 보고했습니다. Windows 오류 코드를 사용할 수 없습니다.

예제

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

설명

이 메서드를 사용하여 적절한 로그에 대한 이벤트 원본으로 이미 등록된 원본을 사용하여 애플리케이션 정의 이벤트 관련 데이터를 이벤트 로그에 씁니다. 이벤트 뷰어는 이 데이터를 해석하지 않습니다. 16진수 및 텍스트 형식으로만 원시 데이터를 표시합니다. 이벤트별 데이터를 아끼고 사용합니다. 유용할 것이라고 확신하는 경우에만 포함합니다. 이벤트별 데이터를 사용하여 애플리케이션이 이벤트 뷰어와 독립적으로 처리할 수 있는 정보를 저장할 수도 있습니다. 예를 들어 이벤트에 대한 뷰어를 작성하거나 로그 파일을 검색하고 이벤트별 데이터의 정보를 포함하는 보고서를 만드는 프로그램을 작성할 수 있습니다.

이진 데이터 외에도 애플리케이션 정의 범주 및 애플리케이션 정의 이벤트 식별자를 지정할 수 있습니다. 이벤트 뷰어는 범주를 사용하여 이벤트 원본에서 작성한 이벤트를 필터링합니다. 이벤트 뷰어는 범주를 숫자 값으로 표시하거나 리소스 식별자로 범주를 사용하여 지역화된 범주 문자열을 표시할 수 있습니다.

메모

매개 변수는 category 양수 값이어야 합니다. 음수 범주 값은 이벤트 뷰어에서 보완 양수로 표시됩니다. 예를 들어 -10 65,526으로 표시되며 -1 65,535로 표시됩니다.

이벤트 뷰어에 지역화된 범주 문자열을 표시하려면 범주 리소스 파일로 구성된 이벤트 원본을 사용하고 범주 리소스 파일에서 리소스 식별자로 설정 category 해야 합니다. 이벤트 원본에 구성된 범주 리소스 파일이 없거나 지정된 category 항목이 범주 리소스 파일의 문자열을 인덱싱하지 않는 경우 이벤트 뷰어는 해당 항목에 대한 숫자 범주 값을 표시합니다. 클래스를 EventSourceCreationData 사용하여 EventLogInstaller 리소스 파일의 범주 문자열 수와 함께 범주 리소스 파일을 구성합니다.

이벤트 식별자는 이벤트 원본과 함께 이벤트를 고유하게 식별합니다. 각 애플리케이션은 자체 번호가 매겨진 이벤트 및 매핑할 설명 문자열을 정의할 수 있습니다. 이벤트 뷰어는 사용자가 무엇이 잘못되었는지 이해하고 수행할 작업을 제안할 수 있도록 이러한 문자열 값을 표시합니다.

마지막으로 이벤트 로그에 EventLogEntryType 기록되는 이벤트에 대한 값을 지정할 수 있습니다. 로그 type 에 대한 이벤트 뷰어의 형식 열에 아이콘과 텍스트가 표시됩니다. 이 매개 변수는 이벤트 유형이 오류, 경고, 정보, 성공 감사 또는 실패 감사인지 여부를 나타냅니다.

원본을 사용하여 첫 번째 항목을 작성하기 전에 이벤트 원본을 만들고 구성해야 합니다. 애플리케이션을 설치하는 동안 새 이벤트 원본을 만듭니다. 이렇게 하면 운영 체제에서 등록된 이벤트 원본 목록과 해당 구성을 새로 고칠 수 있습니다. 운영 체제에서 이벤트 원본 목록을 새로 고치지 않고 새 원본으로 이벤트를 작성하려고 하면 쓰기 작업이 실패합니다. 또는 메서드를 사용하여 새 원본을 EventLogInstallerCreateEventSource 구성할 수 있습니다. 새 이벤트 원본을 만들려면 컴퓨터에 대한 관리 권한이 있어야 합니다.

지역화된 항목을 작성하거나 직접 문자열을 작성하기 위해 원본을 구성해야 합니다. 메서드는 WriteEntry 지정된 문자열을 이벤트 로그에 직접 씁니다. 지역화 가능한 메시지 리소스 파일을 사용하지 않습니다. 이 메서드를 WriteEvent 사용하여 지역화된 메시지 리소스 파일을 사용하여 이벤트를 작성합니다.

애플리케이션에서 리소스 식별자와 문자열 값을 모두 사용하여 항목을 작성하는 경우 두 개의 개별 소스를 등록해야 합니다. 예를 들어 리소스 파일을 사용하여 하나의 원본을 구성한 다음 메서드에서 WriteEvent 해당 원본을 사용하여 이벤트 로그에 리소스 식별자를 사용하여 항목을 작성합니다. 그런 다음 리소스 파일 없이 다른 원본을 만들고 메서드에서 WriteEntry 해당 원본을 사용하여 해당 원본을 사용하여 이벤트 로그에 직접 문자열을 작성합니다.

메모

매개 변수에 message NUL 문자가 포함된 경우 이벤트 로그의 메시지는 NUL 문자로 종료됩니다.

이벤트 뷰어가 삽입 문자열로 처리하므로 문자열은 message n 이 정수 값(예: %1)인 %n을 포함할 수 없습니다. 인터넷 프로토콜 버전 6(IPv6) 주소는 이 문자 시퀀스를 포함할 수 있으므로 IPv6 주소가 포함된 이벤트 메시지를 기록할 수 없습니다.

추가 정보

적용 대상

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

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

지정된 등록된 이벤트 원본을 사용하여 지정된 메시지 텍스트, 애플리케이션 정의 이벤트 식별자 및 애플리케이션 정의 범주가 있는 항목을 이벤트 로그에 씁니다. 이벤트 category 뷰어에서 로그의 이벤트를 필터링하는 데 사용할 수 있습니다.

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)

매개 변수

source
String

애플리케이션이 지정된 컴퓨터에 등록된 원본입니다.

message
String

이벤트 로그에 쓸 문자열입니다.

type
EventLogEntryType

값 중 EventLogEntryType 하나입니다.

eventID
Int32

이벤트에 대한 애플리케이션별 식별자입니다.

category
Int16

메시지와 연결된 애플리케이션별 하위 범주입니다.

예외

값은 source 빈 문자열("")입니다.

-또는-

값은 source .입니다 null.

-또는-

eventID 가 0보다 작거나 UInt16.MaxValue보다 큽니다.

-또는-

메시지 문자열이 31,839바이트보다 깁니다(Windows Vista 이전의 Windows 운영 체제에서는 32,766바이트).

-또는-

원본 이름으로 인해 레지스트리 키 경로가 254자보다 깁니다.

이벤트 로그의 레지스트리 키를 열 수 없습니다.

type 유효한 EventLogEntryType아닙니다.

이벤트 로그에 이벤트 항목을 쓸 때 운영 체제에서 오류를 보고했습니다. Windows 오류 코드를 사용할 수 없습니다.

예제

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)

설명

이 메서드를 사용하여 해당 로그에 대한 이벤트 원본으로 이미 등록된 원본을 사용하여 애플리케이션이 정의된 category 항목을 이벤트 로그에 작성합니다. 이벤트 뷰어는 범주를 사용하여 이벤트 원본에서 작성한 이벤트를 필터링합니다. 이벤트 뷰어는 범주를 숫자 값으로 표시하거나 리소스 식별자로 범주를 사용하여 지역화된 범주 문자열을 표시할 수 있습니다.

메모

매개 변수는 category 양수 값이어야 합니다. 음수 범주 값은 이벤트 뷰어에서 보완 양수로 표시됩니다. 예를 들어 -10 65,526으로 표시되며 -1 65,535로 표시됩니다.

이벤트 뷰어에 지역화된 범주 문자열을 표시하려면 범주 리소스 파일로 구성된 이벤트 원본을 사용하고 범주 리소스 파일에서 리소스 식별자로 설정 category 해야 합니다. 이벤트 원본에 구성된 범주 리소스 파일이 없거나 지정된 category 항목이 범주 리소스 파일의 문자열을 인덱싱하지 않는 경우 이벤트 뷰어는 해당 항목에 대한 숫자 범주 값을 표시합니다. 클래스를 EventSourceCreationData 사용하여 EventLogInstaller 리소스 파일의 범주 문자열 수와 함께 범주 리소스 파일을 구성합니다.

범주 외에도 이벤트 로그에 기록되는 이벤트에 대한 이벤트 식별자를 지정할 수 있습니다. 이벤트 식별자는 이벤트 원본과 함께 이벤트를 고유하게 식별합니다. 각 애플리케이션은 자체 번호가 매겨진 이벤트 및 매핑할 설명 문자열을 정의할 수 있습니다. 이벤트 뷰어는 사용자가 무엇이 잘못되었는지 이해하고 수행할 작업을 제안할 수 있도록 이러한 문자열 값을 표시합니다.

마지막으로 이벤트 로그에 EventLogEntryType 기록되는 이벤트에 대한 값을 지정할 수 있습니다. 로그 type 에 대한 이벤트 뷰어의 형식 열에 아이콘과 텍스트가 표시됩니다. 이 매개 변수는 이벤트 유형이 오류, 경고, 정보, 성공 감사 또는 실패 감사인지 여부를 나타냅니다.

원본을 사용하여 첫 번째 항목을 작성하기 전에 이벤트 원본을 만들고 구성해야 합니다. 애플리케이션을 설치하는 동안 새 이벤트 원본을 만듭니다. 이렇게 하면 운영 체제에서 등록된 이벤트 원본 목록과 해당 구성을 새로 고칠 수 있습니다. 운영 체제에서 이벤트 원본 목록을 새로 고치지 않고 새 원본으로 이벤트를 작성하려고 하면 쓰기 작업이 실패합니다. 또는 메서드를 사용하여 새 원본을 EventLogInstallerCreateEventSource 구성할 수 있습니다. 새 이벤트 원본을 만들려면 컴퓨터에 대한 관리 권한이 있어야 합니다.

지역화된 항목을 작성하거나 직접 문자열을 작성하기 위해 원본을 구성해야 합니다. 메서드는 WriteEntry 지정된 문자열을 이벤트 로그에 직접 씁니다. 지역화 가능한 메시지 리소스 파일을 사용하지 않습니다. 이 메서드를 WriteEvent 사용하여 지역화된 메시지 리소스 파일을 사용하여 이벤트를 작성합니다.

애플리케이션에서 리소스 식별자와 문자열 값을 모두 사용하여 항목을 작성하는 경우 두 개의 개별 소스를 등록해야 합니다. 예를 들어 리소스 파일을 사용하여 하나의 원본을 구성한 다음 메서드에서 WriteEvent 해당 원본을 사용하여 이벤트 로그에 리소스 식별자를 사용하여 항목을 작성합니다. 그런 다음 리소스 파일 없이 다른 원본을 만들고 메서드에서 WriteEntry 해당 원본을 사용하여 해당 원본을 사용하여 이벤트 로그에 직접 문자열을 작성합니다.

메모

매개 변수에 message NUL 문자가 포함된 경우 이벤트 로그의 메시지는 NUL 문자로 종료됩니다.

이벤트 뷰어가 삽입 문자열로 처리하므로 문자열은 message n 이 정수 값(예: %1)인 %n을 포함할 수 없습니다. 인터넷 프로토콜 버전 6(IPv6) 주소는 이 문자 시퀀스를 포함할 수 있으므로 IPv6 주소가 포함된 이벤트 메시지를 기록할 수 없습니다.

추가 정보

적용 대상

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

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

지정된 메시지 텍스트, 애플리케이션 정의 이벤트 식별자 및 애플리케이션 정의 범주가 포함된 항목을 이벤트 로그에 쓰고 메시지에 이진 데이터를 추가합니다.

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

매개 변수

message
String

이벤트 로그에 쓸 문자열입니다.

type
EventLogEntryType

값 중 EventLogEntryType 하나입니다.

eventID
Int32

이벤트에 대한 애플리케이션별 식별자입니다.

category
Int16

메시지와 연결된 애플리케이션별 하위 범주입니다.

rawData
Byte[]

항목과 연결된 이진 데이터를 보유하는 바이트 배열입니다.

예외

속성 SourceEventLog 설정되지 않았습니다.

-또는-

메서드가 새 이벤트 원본을 등록하려고 했지만 컴퓨터 이름이 MachineName 잘못되었습니다.

-또는-

원본이 이미 다른 이벤트 로그에 등록되어 있습니다.

-또는-

eventID 가 0보다 작거나 UInt16.MaxValue보다 큽니다.

-또는-

메시지 문자열이 31,839바이트보다 깁니다(Windows Vista 이전의 Windows 운영 체제에서는 32,766바이트).

-또는-

원본 이름으로 인해 레지스트리 키 경로가 254자보다 깁니다.

이벤트 로그의 레지스트리 키를 열 수 없습니다.

type 유효한 EventLogEntryType아닙니다.

이벤트 로그에 이벤트 항목을 쓸 때 운영 체제에서 오류를 보고했습니다. Windows 오류 코드를 사용할 수 없습니다.

예제

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

설명

이 오버로드를 사용하여 애플리케이션 정의 이벤트별 데이터를 이벤트 로그에 씁니다. 이벤트 뷰어는 이 데이터를 해석하지 않습니다. 16진수 및 텍스트 형식으로만 원시 데이터를 표시합니다. 문제를 디버깅하는 사람에게 유용하다고 확신하는 경우에만 이벤트별 데이터를 포함하여 이벤트별 데이터를 아끼고 사용합니다. 이벤트별 데이터를 사용하여 애플리케이션이 이벤트 뷰어와 독립적으로 처리할 수 있는 정보를 저장할 수도 있습니다. 예를 들어 이벤트에 대한 뷰어를 작성하거나 로그 파일을 검색하고 이벤트별 데이터의 정보를 포함하는 보고서를 만드는 프로그램을 작성할 수 있습니다.

이진 데이터 외에도 애플리케이션 정의 범주 및 애플리케이션 정의 이벤트 식별자를 지정할 수 있습니다. 이벤트 뷰어는 범주를 사용하여 이벤트 원본에서 작성한 이벤트를 필터링합니다. 이벤트 뷰어는 범주를 숫자 값으로 표시하거나 리소스 식별자로 범주를 사용하여 지역화된 범주 문자열을 표시할 수 있습니다.

메모

이벤트 뷰어가 삽입 문자열로 처리하므로 문자열은 message n 이 정수 값(예: %1)인 %n을 포함할 수 없습니다. 인터넷 프로토콜 버전 6(IPv6) 주소는 이 문자 시퀀스를 포함할 수 있으므로 IPv6 주소가 포함된 이벤트 메시지를 기록할 수 없습니다.

메모

매개 변수는 category 양수 값이어야 합니다. 음수 범주 값은 이벤트 뷰어에서 보완 양수로 표시됩니다. 예를 들어 -10 65,526으로 표시되며 -1 65,535로 표시됩니다.

이벤트 뷰어에 지역화된 범주 문자열을 표시하려면 범주 리소스 파일로 구성된 이벤트 원본을 사용하고 범주 리소스 파일에서 리소스 식별자로 설정 category 해야 합니다. 이벤트 원본에 구성된 범주 리소스 파일이 없거나 지정된 category 항목이 범주 리소스 파일의 문자열을 인덱싱하지 않는 경우 이벤트 뷰어는 해당 항목에 대한 숫자 범주 값을 표시합니다. 클래스를 EventSourceCreationData 사용하여 EventLogInstaller 리소스 파일의 범주 문자열 수와 함께 범주 리소스 파일을 구성합니다.

이벤트 식별자는 이벤트 원본과 함께 이벤트를 고유하게 식별합니다. 각 애플리케이션은 자체 번호가 매겨진 이벤트 및 매핑할 설명 문자열을 정의할 수 있습니다. 이벤트 뷰어는 사용자가 무엇이 잘못되었는지 이해하고 수행할 작업을 제안할 수 있도록 이러한 문자열 값을 표시합니다.

마지막으로 이벤트 로그에 EventLogEntryType 기록되는 이벤트에 대한 값을 지정할 수 있습니다. 로그 type 에 대한 이벤트 뷰어의 형식 열에 아이콘과 텍스트가 표시됩니다. 이 매개 변수는 이벤트 유형이 오류, 경고, 정보, 성공 감사 또는 실패 감사인지 여부를 나타냅니다.

로그에 항목을 쓰려면 먼저 구성 요소에서 EventLog 속성을 설정 Source 해야 합니다. 원본을 사용하여 첫 번째 항목을 작성하기 전에 이벤트 원본을 만들고 구성해야 합니다.

애플리케이션을 설치하는 동안 새 이벤트 원본을 만듭니다. 이렇게 하면 운영 체제에서 등록된 이벤트 원본 목록과 해당 구성을 새로 고칠 수 있습니다. 운영 체제에서 이벤트 원본 목록을 새로 고치지 않고 새 원본으로 이벤트를 작성하려고 하면 쓰기 작업이 실패합니다. 또는 메서드를 사용하여 새 원본을 EventLogInstallerCreateEventSource 구성할 수 있습니다. 새 이벤트 원본을 만들려면 컴퓨터에 대한 관리 권한이 있어야 합니다.

이 인스턴스의 속성에 Source 지정된 원본이 EventLog 구성 요소가 쓰고 있는 컴퓨터에 등록되지 않은 경우 원본을 WriteEntry 호출 CreateEventSource 하고 등록합니다.

메모

호출 WriteEntryCreateEventSource 하기 전에 인스턴스에 MachineName 대해 EventLog 지정하지 않으면 로컬 컴퓨터(".")가 가정됩니다.

시스템에서 호출 WriteEntry 을 통해 등록 Source 해야 하고 인스턴스에서 EventLog 속성이 Log 설정되지 않은 경우 로그는 기본적으로 애플리케이션 로그로 설정됩니다.

메모

위에 나열된 많은 예외는 등록 Source하는 동안 발생한 오류에 의해 생성됩니다.

지역화된 항목을 작성하거나 직접 문자열을 작성하기 위해 원본을 구성해야 합니다. 메서드는 WriteEntry 지정된 문자열을 이벤트 로그에 직접 씁니다. 지역화 가능한 메시지 리소스 파일을 사용하지 않습니다. 이 메서드를 WriteEvent 사용하여 지역화된 메시지 리소스 파일을 사용하여 이벤트를 작성합니다.

애플리케이션에서 리소스 식별자와 문자열 값을 모두 사용하여 항목을 작성하는 경우 두 개의 개별 소스를 등록해야 합니다. 예를 들어 리소스 파일을 사용하여 하나의 원본을 구성한 다음 메서드에서 WriteEvent 해당 원본을 사용하여 이벤트 로그에 리소스 식별자를 사용하여 항목을 작성합니다. 그런 다음 리소스 파일 없이 다른 원본을 만들고 메서드에서 WriteEntry 해당 원본을 사용하여 해당 원본을 사용하여 이벤트 로그에 직접 문자열을 작성합니다.

메모

원격 컴퓨터에 항목을 작성하는 경우 원격 컴퓨터가 .NET Framework를 실행하지 않는 경우 메시지 값(텍스트 문자열)이 예상과 다를 수 있습니다.

메모

매개 변수에 message NUL 문자가 포함된 경우 이벤트 로그의 메시지는 NUL 문자로 종료됩니다.

추가 정보

적용 대상

WriteEntry(String, String, EventLogEntryType, Int32)

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

지정된 등록된 이벤트 원본을 사용하여 지정된 메시지 텍스트와 애플리케이션 정의 이벤트 식별자가 있는 항목을 이벤트 로그에 씁니다.

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)

매개 변수

source
String

애플리케이션이 지정된 컴퓨터에 등록된 원본입니다.

message
String

이벤트 로그에 쓸 문자열입니다.

type
EventLogEntryType

값 중 EventLogEntryType 하나입니다.

eventID
Int32

이벤트에 대한 애플리케이션별 식별자입니다.

예외

값은 source 빈 문자열("")입니다.

-또는-

값은 source .입니다 null.

-또는-

eventID 가 0보다 작거나 UInt16.MaxValue보다 큽니다.

-또는-

메시지 문자열이 31,839바이트보다 깁니다(Windows Vista 이전의 Windows 운영 체제에서는 32,766바이트).

-또는-

원본 이름으로 인해 레지스트리 키 경로가 254자보다 깁니다.

이벤트 로그의 레지스트리 키를 열 수 없습니다.

type 유효한 EventLogEntryType아닙니다.

이벤트 로그에 이벤트 항목을 쓸 때 운영 체제에서 오류를 보고했습니다. Windows 오류 코드를 사용할 수 없습니다.

예제

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

설명

이 메서드를 사용하여 적절한 로그에 대한 이벤트 원본으로 이미 등록된 원본을 사용하여 애플리케이션이 정의된 eventID 항목을 이벤트 로그에 작성합니다. 소스 eventID와 함께 이벤트를 고유하게 식별합니다. 각 애플리케이션은 자체 번호가 매겨진 이벤트 및 매핑할 설명 문자열을 정의할 수 있습니다. 이벤트 뷰어는 사용자가 무엇이 잘못되었는지 이해하고 수행할 작업을 제안할 수 있도록 사용자에게 이러한 문자열을 제공합니다.

메모

이벤트 뷰어가 삽입 문자열로 처리하므로 문자열은 message n 이 정수 값(예: %1)인 %n을 포함할 수 없습니다. 인터넷 프로토콜 버전 6(IPv6) 주소는 이 문자 시퀀스를 포함할 수 있으므로 IPv6 주소가 포함된 이벤트 메시지를 기록할 수 없습니다.

이벤트 식별자 외에도 이 오버로드 WriteEntry 를 사용하면 이벤트 로그에 기록되는 이벤트에 대해 지정할 EventLogEntryType 수 있습니다. 로그 type 에 대한 이벤트 뷰어의 형식 열에 아이콘과 텍스트가 표시됩니다. 이 매개 변수는 이벤트 유형이 오류, 경고, 정보, 성공 감사 또는 실패 감사인지 여부를 나타냅니다.

원본을 사용하여 첫 번째 항목을 작성하기 전에 이벤트 원본을 만들고 구성해야 합니다. 애플리케이션을 설치하는 동안 새 이벤트 원본을 만듭니다. 이렇게 하면 운영 체제에서 등록된 이벤트 원본 목록과 해당 구성을 새로 고칠 수 있습니다. 운영 체제에서 이벤트 원본 목록을 새로 고치지 않고 새 원본으로 이벤트를 작성하려고 하면 쓰기 작업이 실패합니다. 또는 메서드를 사용하여 새 원본을 EventLogInstallerCreateEventSource 구성할 수 있습니다. 새 이벤트 원본을 만들려면 컴퓨터에 대한 관리 권한이 있어야 합니다.

지역화된 항목을 작성하거나 직접 문자열을 작성하기 위해 원본을 구성해야 합니다. 메서드는 WriteEntry 지정된 문자열을 이벤트 로그에 직접 씁니다. 지역화 가능한 메시지 리소스 파일을 사용하지 않습니다. 이 메서드를 WriteEvent 사용하여 지역화된 메시지 리소스 파일을 사용하여 이벤트를 작성합니다.

애플리케이션에서 리소스 식별자와 문자열 값을 모두 사용하여 항목을 작성하는 경우 두 개의 개별 소스를 등록해야 합니다. 예를 들어 리소스 파일을 사용하여 하나의 원본을 구성한 다음 메서드에서 WriteEvent 해당 원본을 사용하여 이벤트 로그에 리소스 식별자를 사용하여 항목을 작성합니다. 그런 다음 리소스 파일 없이 다른 원본을 만들고 메서드에서 WriteEntry 해당 원본을 사용하여 해당 원본을 사용하여 이벤트 로그에 직접 문자열을 작성합니다.

메모

매개 변수에 message NUL 문자가 포함된 경우 이벤트 로그의 메시지는 NUL 문자로 종료됩니다.

추가 정보

적용 대상

WriteEntry(String, EventLogEntryType, Int32, Int16)

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

지정된 메시지 텍스트, 애플리케이션 정의 이벤트 식별자 및 애플리케이션 정의 범주가 포함된 항목을 이벤트 로그에 씁니다.

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)

매개 변수

message
String

이벤트 로그에 쓸 문자열입니다.

type
EventLogEntryType

값 중 EventLogEntryType 하나입니다.

eventID
Int32

이벤트에 대한 애플리케이션별 식별자입니다.

category
Int16

메시지와 연결된 애플리케이션별 하위 범주입니다.

예외

속성 SourceEventLog 설정되지 않았습니다.

-또는-

메서드가 새 이벤트 원본을 등록하려고 했지만 컴퓨터 이름이 MachineName 잘못되었습니다.

-또는-

원본이 이미 다른 이벤트 로그에 등록되어 있습니다.

-또는-

eventID 가 0보다 작거나 UInt16.MaxValue보다 큽니다.

-또는-

메시지 문자열이 31,839바이트보다 깁니다(Windows Vista 이전의 Windows 운영 체제에서는 32,766바이트).

-또는-

원본 이름으로 인해 레지스트리 키 경로가 254자보다 깁니다.

이벤트 로그의 레지스트리 키를 열 수 없습니다.

type 유효한 EventLogEntryType아닙니다.

이벤트 로그에 이벤트 항목을 쓸 때 운영 체제에서 오류를 보고했습니다. Windows 오류 코드를 사용할 수 없습니다.

예제

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

설명

이 메서드를 사용하여 이벤트 로그에 애플리케이션이 정의된 category 항목을 작성합니다. 이벤트 뷰어는 범주를 사용하여 이벤트 원본에서 작성한 이벤트를 필터링합니다. 이벤트 뷰어는 범주를 숫자 값으로 표시하거나 리소스 식별자로 범주를 사용하여 지역화된 범주 문자열을 표시할 수 있습니다.

메모

매개 변수는 category 양수 값이어야 합니다. 음수 범주 값은 이벤트 뷰어에서 보완 양수로 표시됩니다. 예를 들어 -10 65,526으로 표시되며 -1 65,535로 표시됩니다.

메모

이벤트 뷰어가 삽입 문자열로 처리하므로 문자열은 message n 이 정수 값(예: %1)인 %n을 포함할 수 없습니다. 인터넷 프로토콜 버전 6(IPv6) 주소는 이 문자 시퀀스를 포함할 수 있으므로 IPv6 주소가 포함된 이벤트 메시지를 기록할 수 없습니다.

이벤트 뷰어에 지역화된 범주 문자열을 표시하려면 범주 리소스 파일로 구성된 이벤트 원본을 사용하고 범주 리소스 파일에서 리소스 식별자로 설정 category 해야 합니다. 이벤트 원본에 구성된 범주 리소스 파일이 없거나 지정된 category 항목이 범주 리소스 파일의 문자열을 인덱싱하지 않는 경우 이벤트 뷰어는 해당 항목에 대한 숫자 범주 값을 표시합니다. 클래스를 EventSourceCreationData 사용하여 EventLogInstaller 리소스 파일의 범주 문자열 수와 함께 범주 리소스 파일을 구성합니다.

범주 외에도 이벤트 로그에 기록되는 이벤트에 대한 이벤트 식별자를 지정할 수 있습니다. 이벤트 식별자는 이벤트 원본과 함께 이벤트를 고유하게 식별합니다. 각 애플리케이션은 자체 번호가 매겨진 이벤트 및 매핑할 설명 문자열을 정의할 수 있습니다. 이벤트 뷰어는 사용자가 무엇이 잘못되었는지 이해하고 수행할 작업을 제안할 수 있도록 이러한 문자열 값을 표시합니다.

마지막으로 이벤트 로그에 EventLogEntryType 기록되는 이벤트에 대한 값을 지정할 수 있습니다. 로그 type 에 대한 이벤트 뷰어의 형식 열에 아이콘과 텍스트가 표시됩니다. 이 매개 변수는 이벤트 유형이 오류, 경고, 정보, 성공 감사 또는 실패 감사인지 여부를 나타냅니다.

로그에 항목을 쓰려면 먼저 구성 요소에서 EventLog 속성을 설정 Source 해야 합니다. 원본을 사용하여 첫 번째 항목을 작성하기 전에 이벤트 원본을 만들고 구성해야 합니다.

애플리케이션을 설치하는 동안 새 이벤트 원본을 만듭니다. 이렇게 하면 운영 체제에서 등록된 이벤트 원본 목록과 해당 구성을 새로 고칠 수 있습니다. 운영 체제에서 이벤트 원본 목록을 새로 고치지 않고 새 원본으로 이벤트를 작성하려고 하면 쓰기 작업이 실패합니다. 또는 메서드를 사용하여 새 원본을 EventLogInstallerCreateEventSource 구성할 수 있습니다. 새 이벤트 원본을 만들려면 컴퓨터에 대한 관리 권한이 있어야 합니다.

이 인스턴스의 속성에 Source 지정된 원본이 EventLog 구성 요소가 쓰고 있는 컴퓨터에 등록되지 않은 경우 원본을 WriteEntry 호출 CreateEventSource 하고 등록합니다.

메모

호출 WriteEntryCreateEventSource 하기 전에 인스턴스에 MachineName 대해 EventLog 지정하지 않으면 로컬 컴퓨터(".")가 가정됩니다.

시스템에서 호출 WriteEntry 을 통해 등록 Source 해야 하고 인스턴스에서 EventLog 속성이 Log 설정되지 않은 경우 로그는 기본적으로 애플리케이션 로그로 설정됩니다.

메모

위에 나열된 많은 예외는 등록 Source하는 동안 발생한 오류에 의해 생성됩니다.

지역화된 항목을 작성하거나 직접 문자열을 작성하기 위해 원본을 구성해야 합니다. 메서드는 WriteEntry 지정된 문자열을 이벤트 로그에 직접 씁니다. 지역화 가능한 메시지 리소스 파일을 사용하지 않습니다. 이 메서드를 WriteEvent 사용하여 지역화된 메시지 리소스 파일을 사용하여 이벤트를 작성합니다.

애플리케이션에서 리소스 식별자와 문자열 값을 모두 사용하여 항목을 작성하는 경우 두 개의 개별 소스를 등록해야 합니다. 예를 들어 리소스 파일을 사용하여 하나의 원본을 구성한 다음 메서드에서 WriteEvent 해당 원본을 사용하여 이벤트 로그에 리소스 식별자를 사용하여 항목을 작성합니다. 그런 다음 리소스 파일 없이 다른 원본을 만들고 메서드에서 WriteEntry 해당 원본을 사용하여 해당 원본을 사용하여 이벤트 로그에 직접 문자열을 작성합니다.

메모

원격 컴퓨터에 항목을 작성하는 경우 원격 컴퓨터가 .NET Framework를 실행하지 않는 경우 메시지 값(텍스트 문자열)이 예상과 다를 수 있습니다.

메모

매개 변수에 message NUL 문자가 포함된 경우 이벤트 로그의 메시지는 NUL 문자로 종료됩니다.

추가 정보

적용 대상

WriteEntry(String, EventLogEntryType)

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

이벤트 로그에 지정된 메시지 텍스트와 함께 오류, 경고, 정보, 성공 감사 또는 실패 감사 항목을 씁니다.

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)

매개 변수

message
String

이벤트 로그에 쓸 문자열입니다.

type
EventLogEntryType

값 중 EventLogEntryType 하나입니다.

예외

속성 SourceEventLog 설정되지 않았습니다.

-또는-

메서드가 새 이벤트 원본을 등록하려고 했지만 컴퓨터 이름이 MachineName 잘못되었습니다.

-또는-

원본이 이미 다른 이벤트 로그에 등록되어 있습니다.

-또는-

메시지 문자열이 31,839바이트보다 깁니다(Windows Vista 이전의 Windows 운영 체제에서는 32,766바이트).

-또는-

원본 이름으로 인해 레지스트리 키 경로가 254자보다 깁니다.

type 유효한 EventLogEntryType아닙니다.

이벤트 로그의 레지스트리 키를 열 수 없습니다.

이벤트 로그에 이벤트 항목을 쓸 때 운영 체제에서 오류를 보고했습니다. Windows 오류 코드를 사용할 수 없습니다.

예제

다음 예제에서는 로컬 컴퓨터의 이벤트 로그 "MyNewLog"에 경고 항목을 씁니다.

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

설명

이 메서드를 사용하여 이벤트 로그에 지정된 EventLogEntryType 항목을 작성합니다. 로그 type 에 대한 이벤트 뷰어의 형식 열에 아이콘과 텍스트가 표시됩니다.

메모

이벤트 뷰어가 삽입 문자열로 처리하므로 문자열은 message n 이 정수 값(예: %1)인 %n을 포함할 수 없습니다. 인터넷 프로토콜 버전 6(IPv6) 주소는 이 문자 시퀀스를 포함할 수 있으므로 IPv6 주소가 포함된 이벤트 메시지를 기록할 수 없습니다.

로그에 항목을 쓰려면 먼저 구성 요소에서 EventLog 속성을 설정 Source 해야 합니다. 원본을 사용하여 첫 번째 항목을 작성하기 전에 이벤트 원본을 만들고 구성해야 합니다.

애플리케이션을 설치하는 동안 새 이벤트 원본을 만듭니다. 이렇게 하면 운영 체제에서 등록된 이벤트 원본 목록과 해당 구성을 새로 고칠 수 있습니다. 운영 체제에서 이벤트 원본 목록을 새로 고치지 않고 새 원본으로 이벤트를 작성하려고 하면 쓰기 작업이 실패합니다. 또는 메서드를 사용하여 새 원본을 EventLogInstallerCreateEventSource 구성할 수 있습니다. 새 이벤트 원본을 만들려면 컴퓨터에 대한 관리 권한이 있어야 합니다.

이 인스턴스의 속성에 Source 지정된 원본이 EventLog 구성 요소가 쓰고 있는 컴퓨터에 등록되지 않은 경우 원본을 WriteEntry 호출 CreateEventSource 하고 등록합니다.

메모

호출 WriteEntryCreateEventSource 하기 전에 인스턴스에 MachineName 대해 EventLog 지정하지 않으면 로컬 컴퓨터(".")가 가정됩니다.

시스템에서 호출 WriteEntry 을 통해 등록 Source 해야 하고 인스턴스에서 EventLog 속성이 Log 설정되지 않은 경우 로그는 기본적으로 애플리케이션 로그로 설정됩니다.

메모

위에 나열된 많은 예외는 등록 Source하는 동안 발생한 오류에 의해 생성됩니다.

지역화된 항목을 작성하거나 직접 문자열을 작성하기 위해 원본을 구성해야 합니다. 메서드는 WriteEntry 지정된 문자열을 이벤트 로그에 직접 씁니다. 지역화 가능한 메시지 리소스 파일을 사용하지 않습니다. 이 메서드를 WriteEvent 사용하여 지역화된 메시지 리소스 파일을 사용하여 이벤트를 작성합니다.

애플리케이션에서 리소스 식별자와 문자열 값을 모두 사용하여 항목을 작성하는 경우 두 개의 개별 소스를 등록해야 합니다. 예를 들어 리소스 파일을 사용하여 하나의 원본을 구성한 다음 메서드에서 WriteEvent 해당 원본을 사용하여 이벤트 로그에 리소스 식별자를 사용하여 항목을 작성합니다. 그런 다음 리소스 파일 없이 다른 원본을 만들고 메서드에서 WriteEntry 해당 원본을 사용하여 해당 원본을 사용하여 이벤트 로그에 직접 문자열을 작성합니다.

메모

원격 컴퓨터에 항목을 작성하는 경우 원격 컴퓨터가 .NET Framework를 실행하지 않는 경우 메시지 값(텍스트 문자열)이 예상과 다를 수 있습니다.

메모

매개 변수에 message NUL 문자가 포함된 경우 이벤트 로그의 메시지는 NUL 문자로 종료됩니다.

추가 정보

적용 대상

WriteEntry(String, EventLogEntryType, Int32)

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

지정된 메시지 텍스트와 애플리케이션 정의 이벤트 식별자가 있는 항목을 이벤트 로그에 씁니다.

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)

매개 변수

message
String

이벤트 로그에 쓸 문자열입니다.

type
EventLogEntryType

값 중 EventLogEntryType 하나입니다.

eventID
Int32

이벤트에 대한 애플리케이션별 식별자입니다.

예외

속성 SourceEventLog 설정되지 않았습니다.

-또는-

메서드가 새 이벤트 원본을 등록하려고 했지만 컴퓨터 이름이 MachineName 잘못되었습니다.

-또는-

원본이 이미 다른 이벤트 로그에 등록되어 있습니다.

-또는-

eventID 가 0보다 작거나 UInt16.MaxValue보다 큽니다.

-또는-

메시지 문자열이 31,839바이트보다 깁니다(Windows Vista 이전의 Windows 운영 체제에서는 32,766바이트).

-또는-

원본 이름으로 인해 레지스트리 키 경로가 254자보다 깁니다.

이벤트 로그의 레지스트리 키를 열 수 없습니다.

type 유효한 EventLogEntryType아닙니다.

이벤트 로그에 이벤트 항목을 쓸 때 운영 체제에서 오류를 보고했습니다. Windows 오류 코드를 사용할 수 없습니다.

예제

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

설명

이 메서드를 사용하여 이벤트 로그에 애플리케이션이 정의된 eventID 항목을 작성합니다. eventID 소스와 함께 이벤트를 고유하게 식별합니다. 각 애플리케이션은 자체 번호가 매겨진 이벤트 및 매핑할 설명 문자열을 정의할 수 있습니다. 이벤트 뷰어는 사용자가 무엇이 잘못되었는지 이해하고 수행할 작업을 제안할 수 있도록 이러한 문자열 값을 표시합니다.

메모

이벤트 뷰어가 삽입 문자열로 처리하므로 문자열은 message n 이 정수 값(예: %1)인 %n을 포함할 수 없습니다. 인터넷 프로토콜 버전 6(IPv6) 주소는 이 문자 시퀀스를 포함할 수 있으므로 IPv6 주소가 포함된 이벤트 메시지를 기록할 수 없습니다.

이벤트 식별자 외에도 이벤트 로그에 기록되는 이벤트에 대해 지정할 EventLogEntryType 수 있습니다. 로그 type 에 대한 이벤트 뷰어의 형식 열에 아이콘과 텍스트가 표시됩니다. 이 매개 변수는 이벤트 유형이 오류, 경고, 정보, 성공 감사 또는 실패 감사인지 여부를 나타냅니다.

로그에 항목을 쓰려면 먼저 구성 요소에서 EventLog 속성을 설정 Source 해야 합니다. 원본을 사용하여 첫 번째 항목을 작성하기 전에 이벤트 원본을 만들고 구성해야 합니다.

애플리케이션을 설치하는 동안 새 이벤트 원본을 만듭니다. 이렇게 하면 운영 체제에서 등록된 이벤트 원본 목록과 해당 구성을 새로 고칠 수 있습니다. 운영 체제에서 이벤트 원본 목록을 새로 고치지 않고 새 원본으로 이벤트를 작성하려고 하면 쓰기 작업이 실패합니다. 또는 메서드를 사용하여 새 원본을 EventLogInstallerCreateEventSource 구성할 수 있습니다. 새 이벤트 원본을 만들려면 컴퓨터에 대한 관리 권한이 있어야 합니다.

이 인스턴스의 속성에 Source 지정된 원본이 EventLog 구성 요소가 쓰고 있는 컴퓨터에 등록되지 않은 경우 원본을 WriteEntry 호출 CreateEventSource 하고 등록합니다.

메모

호출 WriteEntryCreateEventSource 하기 전에 인스턴스에 MachineName 대해 EventLog 지정하지 않으면 로컬 컴퓨터(".")가 가정됩니다.

시스템에서 호출 WriteEntry 을 통해 등록 Source 해야 하고 인스턴스에서 EventLog 속성이 Log 설정되지 않은 경우 로그는 기본적으로 애플리케이션 로그로 설정됩니다.

메모

위에 나열된 많은 예외는 등록 Source하는 동안 발생한 오류에 의해 생성됩니다.

지역화된 항목을 작성하거나 직접 문자열을 작성하기 위해 원본을 구성해야 합니다. 메서드는 WriteEntry 지정된 문자열을 이벤트 로그에 직접 씁니다. 지역화 가능한 메시지 리소스 파일을 사용하지 않습니다. 이 메서드를 WriteEvent 사용하여 지역화된 메시지 리소스 파일을 사용하여 이벤트를 작성합니다.

애플리케이션에서 리소스 식별자와 문자열 값을 모두 사용하여 항목을 작성하는 경우 두 개의 개별 소스를 등록해야 합니다. 예를 들어 리소스 파일을 사용하여 하나의 원본을 구성한 다음 메서드에서 WriteEvent 해당 원본을 사용하여 이벤트 로그에 리소스 식별자를 사용하여 항목을 작성합니다. 그런 다음 리소스 파일 없이 다른 원본을 만들고 메서드에서 WriteEntry 해당 원본을 사용하여 해당 원본을 사용하여 이벤트 로그에 직접 문자열을 작성합니다.

메모

원격 컴퓨터에 항목을 작성하는 경우 원격 컴퓨터가 .NET Framework를 실행하지 않는 경우 메시지 값(텍스트 문자열)이 예상과 다를 수 있습니다.

메모

매개 변수에 message NUL 문자가 포함된 경우 이벤트 로그의 메시지는 NUL 문자로 종료됩니다.

추가 정보

적용 대상

WriteEntry(String, String)

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

지정된 등록된 이벤트 원본을 사용하여 지정된 메시지 텍스트가 포함된 정보 유형 항목을 이벤트 로그에 씁니다.

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)

매개 변수

source
String

애플리케이션이 지정된 컴퓨터에 등록된 원본입니다.

message
String

이벤트 로그에 쓸 문자열입니다.

예외

값은 source 빈 문자열("")입니다.

-또는-

값은 source .입니다 null.

-또는-

메시지 문자열이 31,839바이트보다 깁니다(Windows Vista 이전의 Windows 운영 체제에서는 32,766바이트).

-또는-

원본 이름으로 인해 레지스트리 키 경로가 254자보다 깁니다.

이벤트 로그의 레지스트리 키를 열 수 없습니다.

이벤트 로그에 이벤트 항목을 쓸 때 운영 체제에서 오류를 보고했습니다. Windows 오류 코드를 사용할 수 없습니다.

예제

다음 예제에서는 소스가 없는 경우 해당 원본 MySource 을 만들고 이벤트 로그 MyNewLog에 항목을 씁니다.

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

설명

이 메서드를 사용하여 적절한 로그에 대한 이벤트 원본으로 이미 등록된 원본을 사용하여 이벤트 로그에 정보 항목을 작성합니다. 다른 오버로드를 지정하려면 다른 EventLogEntryType오버로드 WriteEntry를 사용합니다.

원본을 사용하여 첫 번째 항목을 작성하기 전에 이벤트 원본을 만들고 구성해야 합니다. 애플리케이션을 설치하는 동안 새 이벤트 원본을 만듭니다. 이렇게 하면 운영 체제에서 등록된 이벤트 원본 목록과 해당 구성을 새로 고칠 수 있습니다. 운영 체제에서 이벤트 원본 목록을 새로 고치지 않고 새 원본으로 이벤트를 작성하려고 하면 쓰기 작업이 실패합니다. 또는 메서드를 사용하여 새 원본을 EventLogInstallerCreateEventSource 구성할 수 있습니다. 새 이벤트 원본을 만들려면 컴퓨터에 대한 관리 권한이 있어야 합니다.

지역화된 항목을 작성하거나 직접 문자열을 작성하기 위해 원본을 구성해야 합니다. 메서드는 WriteEntry 지정된 문자열을 이벤트 로그에 직접 씁니다. 지역화 가능한 메시지 리소스 파일을 사용하지 않습니다. 이 메서드를 WriteEvent 사용하여 지역화된 메시지 리소스 파일을 사용하여 이벤트를 작성합니다.

애플리케이션에서 리소스 식별자와 문자열 값을 모두 사용하여 항목을 작성하는 경우 두 개의 개별 소스를 등록해야 합니다. 예를 들어 리소스 파일을 사용하여 하나의 원본을 구성한 다음 메서드에서 WriteEvent 해당 원본을 사용하여 이벤트 로그에 리소스 식별자를 사용하여 항목을 작성합니다. 그런 다음 리소스 파일 없이 다른 원본을 만들고 메서드에서 WriteEntry 해당 원본을 사용하여 해당 원본을 사용하여 이벤트 로그에 직접 문자열을 작성합니다.

메모

매개 변수에 message NUL 문자가 포함된 경우 이벤트 로그의 메시지는 NUL 문자로 종료됩니다.

이벤트 뷰어가 삽입 문자열로 처리하므로 문자열은 message n 이 정수 값(예: %1)인 %n을 포함할 수 없습니다. 인터넷 프로토콜 버전 6(IPv6) 주소는 이 문자 시퀀스를 포함할 수 있으므로 IPv6 주소가 포함된 이벤트 메시지를 기록할 수 없습니다.

추가 정보

적용 대상

WriteEntry(String)

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

지정된 메시지 텍스트와 함께 정보 유형 항목을 이벤트 로그에 씁니다.

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

매개 변수

message
String

이벤트 로그에 쓸 문자열입니다.

예외

속성 SourceEventLog 설정되지 않았습니다.

-또는-

메서드가 새 이벤트 원본을 등록하려고 했지만 컴퓨터 이름이 MachineName 잘못되었습니다.

-또는-

원본이 이미 다른 이벤트 로그에 등록되어 있습니다.

-또는-

메시지 문자열이 31,839바이트보다 깁니다(Windows Vista 이전의 Windows 운영 체제에서는 32,766바이트).

-또는-

원본 이름으로 인해 레지스트리 키 경로가 254자보다 깁니다.

이벤트 로그의 레지스트리 키를 열 수 없습니다.

이벤트 로그에 이벤트 항목을 쓸 때 운영 체제에서 오류를 보고했습니다. Windows 오류 코드를 사용할 수 없습니다.

예제

다음 예제에서는 소스가 없는 경우 해당 원본 MySource 을 만들고 이벤트 로그 MyNewLog에 항목을 씁니다.

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

설명

이 메서드를 사용하여 이 EventLog 인스턴스와 연결된 이벤트 로그에 정보 항목을 작성합니다. 다른 오버로드를 지정하려면 다른 EventLogEntryType오버로드 WriteEntry를 사용합니다.

메모

이벤트 뷰어가 삽입 문자열로 처리하므로 문자열은 message n 이 정수 값(예: %1)인 %n을 포함할 수 없습니다. 인터넷 프로토콜 버전 6(IPv6) 주소는 이 문자 시퀀스를 포함할 수 있으므로 IPv6 주소가 포함된 이벤트 메시지를 기록할 수 없습니다.

로그에 항목을 쓰려면 먼저 구성 요소에서 EventLog 속성을 설정 Source 해야 합니다. 원본을 사용하여 첫 번째 항목을 작성하기 전에 이벤트 원본을 만들고 구성해야 합니다.

애플리케이션을 설치하는 동안 새 이벤트 원본을 만듭니다. 이렇게 하면 운영 체제에서 등록된 이벤트 원본 목록과 해당 구성을 새로 고칠 수 있습니다. 운영 체제에서 이벤트 원본 목록을 새로 고치지 않고 새 원본으로 이벤트를 작성하려고 하면 쓰기 작업이 실패합니다. 또는 메서드를 사용하여 새 원본을 EventLogInstallerCreateEventSource 구성할 수 있습니다. 새 이벤트 원본을 만들려면 컴퓨터에 대한 관리 권한이 있어야 합니다.

이 인스턴스의 속성에 Source 지정된 원본이 EventLog 구성 요소가 쓰고 있는 컴퓨터에 등록되지 않은 경우 원본을 WriteEntry 호출 CreateEventSource 하고 등록합니다.

메모

호출 WriteEntryCreateEventSource 하기 전에 인스턴스에 MachineName 대해 EventLog 지정하지 않으면 로컬 컴퓨터(".")가 가정됩니다.

시스템에서 호출 WriteEntry 을 통해 등록 Source 해야 하고 인스턴스에서 EventLog 속성이 Log 설정되지 않은 경우 로그는 기본적으로 애플리케이션 로그로 설정됩니다.

메모

위에 나열된 많은 예외는 등록 Source하는 동안 발생한 오류에 의해 생성됩니다.

지역화된 항목을 작성하거나 직접 문자열을 작성하기 위해 원본을 구성해야 합니다. 메서드는 WriteEntry 지정된 문자열을 이벤트 로그에 직접 씁니다. 지역화 가능한 메시지 리소스 파일을 사용하지 않습니다. 이 메서드를 WriteEvent 사용하여 지역화된 메시지 리소스 파일을 사용하여 이벤트를 작성합니다.

애플리케이션에서 리소스 식별자와 문자열 값을 모두 사용하여 항목을 작성하는 경우 두 개의 개별 소스를 등록해야 합니다. 예를 들어 리소스 파일을 사용하여 하나의 원본을 구성한 다음 메서드에서 WriteEvent 해당 원본을 사용하여 이벤트 로그에 리소스 식별자를 사용하여 항목을 작성합니다. 그런 다음 리소스 파일 없이 다른 원본을 만들고 메서드에서 WriteEntry 해당 원본을 사용하여 해당 원본을 사용하여 이벤트 로그에 직접 문자열을 작성합니다.

메모

원격 컴퓨터에 항목을 작성하는 경우 원격 컴퓨터가 .NET Framework를 실행하지 않는 경우 메시지 값(텍스트 문자열)이 예상과 다를 수 있습니다.

메모

매개 변수에 message NUL 문자가 포함된 경우 이벤트 로그의 메시지는 NUL 문자로 종료됩니다.

추가 정보

적용 대상

WriteEntry(String, String, EventLogEntryType)

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

지정된 등록된 이벤트 원본을 사용하여 지정된 메시지 텍스트가 포함된 오류, 경고, 정보, 성공 감사 또는 실패 감사 항목을 이벤트 로그에 씁니다.

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)

매개 변수

source
String

애플리케이션이 지정된 컴퓨터에 등록된 원본입니다.

message
String

이벤트 로그에 쓸 문자열입니다.

type
EventLogEntryType

값 중 EventLogEntryType 하나입니다.

예외

값은 source 빈 문자열("")입니다.

-또는-

값은 source .입니다 null.

-또는-

메시지 문자열이 31,839바이트보다 깁니다(Windows Vista 이전의 Windows 운영 체제에서는 32,766바이트).

-또는-

원본 이름으로 인해 레지스트리 키 경로가 254자보다 깁니다.

이벤트 로그의 레지스트리 키를 열 수 없습니다.

type 유효한 EventLogEntryType아닙니다.

이벤트 로그에 이벤트 항목을 쓸 때 운영 체제에서 오류를 보고했습니다. Windows 오류 코드를 사용할 수 없습니다.

예제

다음 예제에서는 로컬 컴퓨터의 이벤트 로그 "MyNewLog"에 경고 항목을 씁니다.

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

설명

이 메서드를 사용 하 여 이벤트 로그에 지정 된 EventLogEntryType 항목을 작성 하려면 해당 로그에 대 한 이벤트 원본으로 이미 등록 된 소스를 사용 하 여 합니다. 로그 type 에 대한 이벤트 뷰어의 형식 열에 아이콘과 텍스트가 표시됩니다.

메모

이벤트 뷰어가 삽입 문자열로 처리하므로 문자열은 message n 이 정수 값(예: %1)인 %n을 포함할 수 없습니다. 인터넷 프로토콜 버전 6(IPv6) 주소는 이 문자 시퀀스를 포함할 수 있으므로 IPv6 주소가 포함된 이벤트 메시지를 기록할 수 없습니다.

원본을 사용하여 첫 번째 항목을 작성하기 전에 이벤트 원본을 만들고 구성해야 합니다. 애플리케이션을 설치하는 동안 새 이벤트 원본을 만듭니다. 이렇게 하면 운영 체제에서 등록된 이벤트 원본 목록과 해당 구성을 새로 고칠 수 있습니다. 운영 체제에서 이벤트 원본 목록을 새로 고치지 않고 새 원본으로 이벤트를 작성하려고 하면 쓰기 작업이 실패합니다. 또는 메서드를 사용하여 새 원본을 EventLogInstallerCreateEventSource 구성할 수 있습니다. 새 이벤트 원본을 만들려면 컴퓨터에 대한 관리 권한이 있어야 합니다.

지역화된 항목을 작성하거나 직접 문자열을 작성하기 위해 원본을 구성해야 합니다. 메서드는 WriteEntry 지정된 문자열을 이벤트 로그에 직접 씁니다. 지역화 가능한 메시지 리소스 파일을 사용하지 않습니다. 이 메서드를 WriteEvent 사용하여 지역화된 메시지 리소스 파일을 사용하여 이벤트를 작성합니다.

애플리케이션에서 리소스 식별자와 문자열 값을 모두 사용하여 항목을 작성하는 경우 두 개의 개별 소스를 등록해야 합니다. 예를 들어 리소스 파일을 사용하여 하나의 원본을 구성한 다음 메서드에서 WriteEvent 해당 원본을 사용하여 이벤트 로그에 리소스 식별자를 사용하여 항목을 작성합니다. 그런 다음 리소스 파일 없이 다른 원본을 만들고 메서드에서 WriteEntry 해당 원본을 사용하여 해당 원본을 사용하여 이벤트 로그에 직접 문자열을 작성합니다.

메모

매개 변수에 message NUL 문자가 포함된 경우 이벤트 로그의 메시지는 NUL 문자로 종료됩니다.

추가 정보

적용 대상