방법: 응용 프로그램을 이벤트 로그 엔트리의 소스로 추가
업데이트: 2007년 11월
구성 요소가 이벤트 로그에 엔트리를 쓰려면 엔트리를 이벤트 로그에 이벤트의 유효한 소스로 등록해야 합니다. 이렇게 하려면 CreateEventSource 메서드를 사용하여 구성 요소를 고유하게 식별하는 문자열을 이벤트 로그에 지정합니다. 로그 엔트리를 쓸 때 시스템은 사용자가 지정한 소스를 사용하여 엔트리에 배치할 적절한 로그를 찾습니다. EventLog 구성 요소 인스턴스는 한 번에 하나의 로그에만 쓸 수 있습니다.
참고: |
---|
기본적으로 먼저 구성 요소를 유효한 소스로 등록하지 않고 엔트리를 쓰려고 하면 시스템에서 Source 속성의 값을 소스 문자열로 사용하여 자동으로 소스와 이벤트 로그를 등록합니다. 일반적으로 응용 프로그램을 설치하는 동안 새 이벤트 소스를 만듭니다. 이렇게 하면 운영 체제에서 등록된 이벤트 소스의 목록과 구성을 새로 고칠 수 있습니다. 운영 체제에서 이벤트 소스 목록을 새로 고치지 않은 상태에서 새 소스로 이벤트를 쓰려고 하면 쓰기 작업이 실패합니다. 설치하는 동안 소스를 만들 수 없는 경우에는 처음 쓰기 작업을 하기 전(대개의 경우 응용 프로그램 초기화 도중)에 소스를 만드십시오. 이 방법을 사용할 때는 초기화 코드가 컴퓨터에서 관리자 권한으로 실행되도록 해야 합니다. 새 이벤트 소스를 만들려면 이 권한이 필요합니다. |
CreateEventSource 메서드를 사용할 때 존재하지 않는 로그 이름을 지정하면 사용자가 처음에 로그에 엔트리를 쓰려고 할 때 사용한 이름을 사용하여 시스템이 새 사용자 지정 이벤트 로그를 만듭니다. 자세한 내용은 방법: 사용자 지정 이벤트 로그 만들기 및 제거를 참조하십시오.
이벤트 범주 및 메시지 문자열에 대한 지역화된 리소스에 이벤트 소스를 등록할 수 있습니다. 응용 프로그램에서 실제 문자열 값을 지정하는 대신 리소스 식별자를 사용하여 이벤트 로그 엔트리를 쓸 수 있습니다. 리소스 파일을 사용하도록 소스를 구성하는 방법에 대한 자세한 내용은 EventLogInstaller 및 EventSourceCreationData 클래스를 참조하십시오.
구성 요소를 이벤트 소스로 만들려면
로컬 컴퓨터에서 엔트리를 만들려면 CreateEventSource 메서드를 호출하고 소스 문자열과 로그 이름을 매개 변수로 지정합니다.
참고: 로그 이름을 지정하지 않으면 기본적으로 Application 로그가 지정됩니다.
다음 예제에서는 MyApp1 구성 요소를 응용 프로그램 로그의 소스로 등록하는 방법을 보여 줍니다. 이 코드에서는 System.Diagnostics 네임스페이스에 대한 Imports 또는 using 문이 있다고 가정합니다.
EventLog.CreateEventSource("MyApp1", "Application")
System.Diagnostics.EventLog.CreateEventSource("MyApp1", "Application");
팁: 원격 컴퓨터에서 이벤트 소스를 만들려면 EventSourceCreationData를 사용합니다. 다음 코드는 이러한 예제를 보여 줍니다.
Dim creationData As New EventSourceCreationData("ApplicationName", "Application") creationData.MachineName = "ServerName" EventLog.CreateEventSource(creationData)
System.Diagnostics.EventSourceCreationData creationData = new System.Diagnostics.EventSourceCreationData("ApplicationName", "Application"); creationData.MachineName = "ServerName"; EventLog.CreateEventSource(creationData);
참고 항목
작업
연습 : 이벤트 로그, 이벤트 소스 및 엔트리 살펴보기