다음을 통해 공유


EventLog 프로그래밍 아키텍처

업데이트: 2007년 11월

EventLog 구성 요소는 .NET Framework 네임스페이스의 다음 부분을 사용합니다.

EventLog 네임스페이스

이벤트 로그 네임스페이스

Visual Studio에서 EventLog 구성 요소의 인스턴스를 응용 프로그램에 추가하면 시스템에서 자동으로 네임스페이스와 클래스에 액세스하는 데 필요한 참조와 Import 문을 만듭니다. 그러나 코드 또는 Microsoft .NET Framework에서 EventLog 구성 요소를 만드는 경우 System.Diagnostics에 대한 참조를 만들고 동일한 라이브러리에 대한 Import 문을 프로젝트에 추가해야 합니다.

프로젝트 참조를 추가하고 제거하는 방법에 대한 자세한 내용은 방법: Visual Studio에서 참조 추가 또는 제거(Visual Basic)를 참조하십시오.

EventLog 클래스의 핵심 프로그래밍 요소

EventLog 구성 요소에서는 감시하는 로그에 엔트리가 쓰여질 때마다 EntryWritten이라는 이벤트를 발생시킵니다. 이 이벤트에 대한 처리기를 정의할 수 있습니다. 또한 다음과 같은 메서드를 사용하여 EventLog 구성 요소의 인스턴스와 상호 작용할 수 있습니다.

  • Exists 메서드를 사용하면 특정 이벤트 로그의 존재 여부를 확인할 수 있습니다.

  • CreateEventSource 메서드를 사용하면 이벤트 소스와 로그 사이를 연결하는 문자열을 정의할 수 있고 DeleteEventSource 메서드를 사용하면 이 연결을 제거할 수 있습니다. 또한 이 메서드를 사용하여 새 사용자 지정 이벤트 로그를 만들 수도 있습니다. 소스를 만들 로그와 같은 이름으로 새 로그 이름을 입력하면 시스템에서 자동으로 로그를 만듭니다.

    참고:

    Source 속성은 임의의 문자열로 설정할 수 있습니다. 즉, 응용 프로그램 이름과 일치시킬 필요가 없습니다. 한 응용 프로그램이 서로 다른 소스 문자열을 사용하여 이벤트 로그를 식별하는 여러 개의 구성 요소를 가질 수 있습니다.

  • WriteEntry 메서드를 사용하면 액세스 권한이 있는 모든 이벤트 로그에 이벤트 정보를 쓸 수 있습니다. WriteEntry 메서드는 사용자의 구성 요소나 응용 프로그램이 지정된 로그에 등록되어 있지 않으면 자동으로 유효한 소스로 등록합니다.

  • SourceExists 메서드를 사용하면 특정 소스가 이미 등록되어 있는지 여부를 확인할 수 있습니다. SourceExists 메서드는 소스가 이미 컴퓨터에 등록되어 있을 경우 런타임 오류를 발생시키기 때문에 지정된 컴퓨터에서 새 소스를 만들 때 유용합니다.

  • GetEventLogs 메서드를 사용하면 특정 컴퓨터에서 모든 이벤트 로그 목록을 검색할 수 있습니다.

  • Delete 메서드를 사용하면 전체 이벤트 로그를 삭제할 수 있습니다. 로그를 삭제할 경우 로그에 등록된 모든 소스도 삭제되기 때문에 이 메서드를 사용할 때는 주의해야 합니다.

참고 항목

개념

EventLog 구성 요소 소개