다음을 통해 공유


EventLog.WriteEntry 메서드

정의

이벤트 로그에 엔트리를 씁니다.

오버로드

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

특정 등록 이벤트 소스를 사용하여 엔트리를 지정된 메시지 텍스트, 애플리케이션 정의 이벤트 식별자, 애플리케이션 정의 범주로 이벤트 로그에 쓰고 메시지에 이진 데이터를 추가합니다.

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

설명

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

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

참고

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

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

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

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

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

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

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

참고

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

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

추가 정보

적용 대상

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

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 );
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 가 범주 리소스 파일에서 문자열을 인덱싱하지 않는 경우 이벤트 뷰어 해당 항목의 숫자 범주 값을 표시합니다. 또는 클래스를 사용하여 EventLogInstaller 리소스 파일의 범주 문자열 수와 함께 범주 리소스 파일을 구성합니다 EventSourceCreationData .

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

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

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

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

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

참고

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

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

추가 정보

적용 대상

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

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" ) )
{
   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)

설명

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

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

참고

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

참고

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

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

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

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

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

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

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

참고

또는 WriteEntry를 호출 CreateEventSource 하기 전에 instance 대한 EventLogMachineName 지정하지 않으면 로컬 컴퓨터(".")가 가정됩니다.

시스템을 등록 해야 하는 경우는 Source 호출을 통해 WriteEntryLog 속성에서 설정 되지 않은 프로그램 EventLog 경우 로그는 애플리케이션 로그에 기본적입니다.

참고

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

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

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

참고

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

참고

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

추가 정보

적용 대상

WriteEntry(String, String, EventLogEntryType, Int32)

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" ) )
{
   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)

설명

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

참고

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

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

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

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

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

참고

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

추가 정보

적용 대상

WriteEntry(String, EventLogEntryType, Int32, Int16)

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

설명

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

참고

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

참고

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

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

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

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

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

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

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

참고

또는 WriteEntry를 호출 CreateEventSource 하기 전에 instance 대한 EventLogMachineName 지정하지 않으면 로컬 컴퓨터(".")가 가정됩니다.

시스템을 등록 해야 하는 경우는 Source 호출을 통해 WriteEntryLog 속성에서 설정 되지 않은 프로그램 EventLog 경우 로그는 애플리케이션 로그에 기본적입니다.

참고

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

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

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

참고

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

참고

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

추가 정보

적용 대상

WriteEntry(String, EventLogEntryType)

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.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

설명

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

참고

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

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

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

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

참고

또는 WriteEntry를 호출 CreateEventSource 하기 전에 instance 대한 EventLogMachineName 지정하지 않으면 로컬 컴퓨터(".")가 가정됩니다.

시스템을 등록 해야 하는 경우는 Source 호출을 통해 WriteEntryLog 속성에서 설정 되지 않은 프로그램 EventLog 경우 로그는 애플리케이션 로그에 기본적입니다.

참고

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

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

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

참고

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

참고

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

추가 정보

적용 대상

WriteEntry(String, EventLogEntryType, Int32)

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

설명

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

참고

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

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

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

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

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

참고

또는 WriteEntry를 호출 CreateEventSource 하기 전에 instance 대한 EventLogMachineName 지정하지 않으면 로컬 컴퓨터(".")가 가정됩니다.

시스템을 등록 해야 하는 경우는 Source 호출을 통해 WriteEntryLog 속성에서 설정 되지 않은 프로그램 EventLog 경우 로그는 애플리케이션 로그에 기본적입니다.

참고

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

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

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

참고

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

참고

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

추가 정보

적용 대상

WriteEntry(String, String)

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.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

설명

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

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

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

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

참고

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

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

추가 정보

적용 대상

WriteEntry(String)

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.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

설명

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

참고

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

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

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

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

참고

또는 WriteEntry를 호출 CreateEventSource 하기 전에 instance 대한 EventLogMachineName 지정하지 않으면 로컬 컴퓨터(".")가 가정됩니다.

시스템을 등록 해야 하는 경우는 Source 호출을 통해 WriteEntryLog 속성에서 설정 되지 않은 프로그램 EventLog 경우 로그는 애플리케이션 로그에 기본적입니다.

참고

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

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

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

참고

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

참고

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

추가 정보

적용 대상

WriteEntry(String, String, EventLogEntryType)

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.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

설명

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

참고

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

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

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

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

참고

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

추가 정보

적용 대상