Share via


방법: 이벤트 쿼리

지정한 쿼리 조건을 충족하는 이벤트 그룹을 쿼리하여 이벤트 로그에 저장된 이벤트를 필터링할 수 있습니다. 이 쿼리는 이벤트 속성을 기반으로 이벤트를 필터링합니다. 예를 들어, 특정 기간 내에 발생한 특정 이벤트 로그의 모든 수준 2 이벤트를 쿼리하거나 식별자가 105인 모든 이벤트를 쿼리할 수 있습니다.

예제

설명

다음 코드 예제에서는 System.Diagnostics.Eventing.Reader 클래스를 사용하여 응용 프로그램 이벤트 로그의 모든 수준 2 이벤트를 쿼리합니다. 쿼리에서 반환된 각 이벤트에 대해 설명, 이벤트 ID 및 이벤트 게시자 이름이 표시됩니다. 이 코드 예제에서는 활성 이벤트 로그, 외부 이벤트 로그 및 원격 컴퓨터의 이벤트를 쿼리하는 방법을 보여 줍니다. 이 코드 예제의 각 메서드는 일련의 단계에 따라 이벤트를 쿼리합니다.

  1. 이벤트 필터링에 사용되는 쿼리 문자열과 쿼리할 이벤트 로그의 이름이나 위치를 지정하여 EventLogQuery 클래스의 인스턴스를 만듭니다. 외부 이벤트 로그를 쿼리하려면 로그 파일(.evtx) 경로를 지정합니다. 이벤트 로그 이름을 찾는 방법에 대한 자세한 내용은 방법: 이벤트 로그 속성 구성 및 읽기의 코드 예제를 참조하거나 이벤트 뷰어 도구에서 이벤트 로그를 검색하십시오. 이벤트 쿼리 문자열을 만드는 방법에 대한 자세한 내용은 이벤트 쿼리 및 이벤트 XML를 참조하십시오.
  2. (옵션) 원격 컴퓨터에서 이벤트를 쿼리하려면 Session 속성을 EventLogSession 클래스의 인스턴스로 설정하고 원격 컴퓨터 이름, 도메인 및 원격 컴퓨터에 연결하는 데 사용되는 사용자 이름과 암호를 지정합니다.
  3. 1단계에서 만든 EventLogQuery 인스턴스를 지정하여 EventLogReader 클래스의 인스턴스를 만듭니다.
  4. 쿼리 결과를 가져오려면 ReadEvent 메서드에서 반환된 EventRecord 인스턴스를 사용합니다. 반환된 각 인스턴스는 쿼리 결과의 이벤트에 대한 이벤트 정보를 포함합니다. 이벤트 인스턴스의 이벤트 정보 읽기에 대한 자세한 내용은 방법: 이벤트 정보 액세스 및 읽기를 참조하십시오.

코드

코드 컴파일

이 코드 예제에는 System.dll, System.Security.dll 및 System.Core.dll 파일에 대한 참조가 필요합니다.

참고 항목

개념

이벤트 로그 시나리오
방법: 이벤트 로그의 이벤트 알림 신청

Send comments about this topic to Microsoft.

Copyright © 2007 by Microsoft Corporation. All rights reserved.