방법: EventLog 구성 요소 인스턴스 구성

업데이트: 2007년 11월

EventLog 구성 요소 인스턴스 구성과 관련된 세 가지 주요 속성이 있습니다.

  • Log 속성은 상호 작용할 로그를 나타냅니다.

  • MachineName 속성은 사용 중인 로그가 있는 컴퓨터를 나타냅니다.

  • Source 속성은 구성 요소가 로그에 엔트리를 쓸 때 구성 요소 식별에 사용할 소스 문자열을 나타냅니다.

EventLog 구성 요소를 구성하는 방법은 해당 구성 요소를 사용하는 방법에 따라 다릅니다.

  • 로그에 엔트리를 쓸 경우 다음 두 가지 방법 중 하나를 수행합니다. CreateEventSource 메서드를 사용하여 소스를 등록하고 EventLog 구성 요소의 Source 속성을 같은 소스로 설정하거나, 구성 요소에 대해 MachineName, LogSource 속성을 설정해야 합니다.

    참고:

    구성 요소에서 직접 Log 속성을 설정하거나 구성 요소를 이벤트 소스로 등록하는 코드를 사용하여 설정할 수도 있습니다. 구성 요소를 소스로 등록하면, 구성 요소를 특정 로그에 링크하는 서버의 레지스트리에 연결이 이미 설정되어 있습니다.

  • 로그 엔트리를 읽거나 로그를 모니터링하려면 감시할 로그를 가리키도록 MachineNameLog 속성을 설정합니다. 이 경우에는 Source 속성을 설정할 필요가 없습니다.

  • 구성 요소가 EntryWritten 이벤트의 알림을 받을 수 있도록 하려면 EnableRaisingEvents를 true로 설정해야 합니다. 자세한 내용은 방법: EntryWritten 이벤트 처리를 참조하십시오.

    다음 예제에서는 응용 프로그램 로그에 엔트리를 쓸 수 있도록 구성 요소를 구성하는 방법을 보여 줍니다. 이 경우에는 소스가 아직 로그에 등록되어 있지 않으므로 소스 문자열, 로그, 컴퓨터 이름 등을 지정해야 합니다. WriteEntry는 소스가 아직 등록되지 않았을 경우 소스를 로그에 등록하기 때문에 CreateEventSource 메서드를 명시적으로 호출할 필요가 없습니다.

    Dim EventLog1 As New EventLog("Application", "myserver", "newsource")
    EventLog1.WriteEntry("Test")
    
         System.Diagnostics.EventLog EventLog1 = new
               System.Diagnostics.EventLog("Application", "myserver", "newsource");
            EventLog1.WriteEntry("Test");
    

    소스가 이미 등록되어 있으면 단순히 Source 속성을 설정하고 엔트리를 쓰기만 하면 됩니다. 예를 들어, 다음 코드에서는 이미 등록되어 있는 소스를 사용하여 로그에 엔트리를 쓰는 방법을 보여 줍니다.

    If Not EventLog.SourceExists("ExistingSourceString") Then
        EventLog.CreateEventSource("ExistingSourceString", "Application")
    End If
    Dim EventLog1 As New EventLog()
    EventLog1.Source = "ExistingSourceString"
    EventLog1.WriteEntry("TestEntry2")
    
         if (!System.Diagnostics.EventLog.SourceExists("ExistingSourceString"))
                System.Diagnostics.EventLog.CreateEventSource(
                   "ExistingSourceString", "Application");
    
            System.Diagnostics.EventLog EventLog1 =
               new System.Diagnostics.EventLog();
            EventLog1.Source = "ExistingSourceString";
            EventLog1.WriteEntry("TestEntry2");
    
    참고:

    이 예제에서 볼 수 있듯이 MachineName 속성을 설정하지 않으면 로컬 컴퓨터로 간주됩니다.

    이러한 속성에 대한 자세한 내용은 이벤트 로그 참조를 참조하십시오.

    이벤트 로그에서 검색한 엔트리는 여러 속성으로 분류됩니다. 이러한 속성에 대한 자세한 내용은 EventLog를 참조하십시오.

EventLog 구성 요소의 인스턴스를 구성하려면

  1. EventLog 구성 요소의 인스턴스를 만듭니다. 자세한 내용은 방법: EventLog 구성 요소 인스턴스 만들기를 참조하십시오.

  2. Log, MachineNameSource 속성의 적절한 조합을 설정합니다.

    작업 내용

    작업 방법

    이벤트 로그 읽기 또는 모니터링

    LogMachineName 설정

    Source 문자열을 사용하여 로그에 엔트리 쓰기

    Source, LogMachineName 설정

    기존 Source의 로그에 엔트리 쓰기

    Source 속성을 기존 소스로 설정하면 다른 속성들은 자동으로 설정됩니다.

  3. EntryWritten 이벤트가 발생할 때 이를 구성 요소의 인스턴스에 알리도록 하려면 EnableRaisingEvents 속성을 true로 설정합니다.

참고 항목

작업

방법: EventLog 구성 요소 인스턴스 만들기

방법: 응용 프로그램을 이벤트 로그 엔트리의 소스로 추가

방법: 이벤트 로그에 엔트리 쓰기

개념

이벤트 로그 참조