다음을 통해 공유


방법: 사용자 지정 이벤트 로그 만들기 및 제거

업데이트: 2007년 11월

EventLog 클래스를 사용하여 로컬 컴퓨터 또는 원격 컴퓨터에서 사용자 지정 이벤트 로그를 만들 수 있습니다. 구성 요소가 기본 응용 프로그램 로그에 엔트리를 쓰는 것보다 더욱 정밀한 방식으로 엔트리를 구성하려면 사용자 지정 로그를 만듭니다. 예를 들어, OrderEntry라는 구성 요소에서 이벤트 로그에 엔트리 정보를 쓴다고 가정합니다. 이 엔트리를 응용 프로그램 로그의 다른 엔트리보다 더 오랫동안 백업 및 저장하려고 합니다. 이 경우, 구성 요소를 응용 프로그램 로그에 등록하여 쓰는 대신 OrdersLog라는 사용자 지정 로그를 만들어 해당 구성 요소를 등록한 다음 이 로그에 엔트리를 쓸 수 있습니다. 이 방식을 사용하면 모든 주문 정보가 한 장소에 저장되고 응용 프로그램 로그의 엔트리가 삭제되는 경우에도 영향을 받지 않습니다.

간접적으로 CreateEventSource 메서드를 사용하여 사용자 지정 로그를 만들 수도 있습니다. 이 메서드는 새 소스를 만들어 엔트리를 쓸 로그를 지정할 수 있도록 합니다. 아직 존재하지 않는 로그에 쓰도록 지정하면 시스템에서 자동으로 사용자 지정 로그를 만들고 사용자의 구성 요소를 해당 로그의 소스로 등록합니다.

참고:

사용자 지정 로그를 삭제할 때는 다른 로그와 마찬가지로 Delete 메서드를 호출합니다. 자세한 내용은 방법: 이벤트 로그 삭제를 참조하십시오.

이벤트 로그를 만들 때와 EventLog 구성 요소의 인스턴스를 만들 때의 차이에 유의해야 합니다. CreateEventSource 메서드를 사용하는 경우에는 프로젝트 또는 응용 프로그램에서 구성 요소를 만드는 것이 아니라 Windows에서 새 사용자 지정 이벤트 로그를 만듭니다. EventLog 구성 요소의 인스턴스를 만드는 경우에는 외부 이벤트 로그를 참조하는 프로젝트 내부에서 구성 요소를 만듭니다. 이벤트 뷰어에서 CreateEventSource 메서드로 만들어진 이벤트 로그는 볼 수 있지만 구성 요소 인스턴스는 볼 수 없습니다.

참고:

일반적으로 응용 프로그램을 설치하는 동안 새 이벤트 소스를 만듭니다. 이를 통해 운영 체제에서 등록된 이벤트 소스의 목록과 구성을 새로 고칠 수 있습니다. 운영 체제에서 이벤트 소스 목록을 새로 고치지 않은 상태에서 새 소스로 이벤트를 쓰려고 하면 쓰기 작업이 실패합니다. 설치하는 동안 소스를 만들 수 없는 경우에는 처음 쓰기 작업을 하기 전(대개의 경우 응용 프로그램 초기화 도중)에 소스를 만드십시오. 이 방법을 사용할 때는 초기화 코드가 컴퓨터에서 관리자 권한으로 실행되도록 해야 합니다. 새 이벤트 소스를 만들려면 이 권한이 필요합니다.

서버 탐색기 또는 Windows 2000 컴퓨터 관리 창에서 사용자 지정 로그를 볼 수 있습니다. 자세한 내용은 방법: 서버 탐색기에서 이벤트 로그 사용 또는 방법: 서버 탐색기에서 이벤트 뷰어 시작을 참조하십시오.

원격 컴퓨터에 대한 적절한 액세스 권한이 있어야 로그를 만들거나 삭제할 수 있습니다. 자세한 내용은 이벤트 로그의 보안 구분을 참조하십시오.

보안 정보:

이벤트 로그를 만들 때 해당 리소스가 이미 존재하고 있는지 확인해야 합니다. 악의를 가진 다른 프로세스에서 이미 해당 리소스를 만들어 이에 대한 액세스 권한을 가지고 있을 수도 있습니다. 이 경우 이벤트 로그에 데이터를 입력하면 다른 프로세스에서 이 데이터를 사용할 수 있게 됩니다. 기본 이벤트 로그에 대한 자세한 내용은 방법: 특정 이벤트 로그 존재 여부 확인을 참조하십시오.

사용자 지정 이벤트 로그를 만들려면

  • CreateEventSource 메서드를 호출하고 소스 문자열과 만들 로그 파일의 이름을 지정합니다.

    참고:

    로그 이름을 지정하지 않으면 기본적으로 응용 프로그램 로그가 지정됩니다. 이 경우에는 새 로그를 만들지 않고 응용 프로그램 로그에 지정된 소스를 등록합니다. 새 로그를 만들면 처음 여덟 문자만을 검사하여 로그 이름이 고유한지 확인합니다.

    다음 예제에서는 로컬 컴퓨터에서 MyNewLog라는 사용자 지정 로그를 만드는 방법을 보여 줍니다. 이 코드에서는 System.Diagnostics 네임스페이스에 대한 Imports 또는 using 문이 있다고 가정합니다.

    EventLog.CreateEventSource("ApplicationName", "LogName")
    
         System.Diagnostics.EventLog.CreateEventSource("ApplicationName", "LogName");
    

    원격 컴퓨터에서 사용자 지정 이벤트 로그를 만들려면 컴퓨터 이름을 세 번째 매개 변수로 지정합니다. 다음 코드에서는 이러한 예제를 보여 줍니다.

    Dim creationData As New EventSourceCreationData("ApplicationName", "LogName")
    creationData.MachineName = "ServerName"
    EventLog.CreateEventSource(creationData)
    
         System.Diagnostics.EventSourceCreationData creationData = new
                System.Diagnostics.EventSourceCreationData("ApplicationName", "LogName");
            creationData.MachineName = "ServerName";
            EventLog.CreateEventSource(creationData);
    

참고 항목

작업

방법: 이벤트 로그 삭제

방법: 서버 탐색기에서 이벤트 로그 사용

방법: 서버 탐색기에서 이벤트 뷰어 시작

개념

이벤트 로그의 보안 구분

EventLog 구성 요소 소개

참조

EventLog

기타 리소스

이벤트 로그 관리