C#를 사용 하 여 이벤트 로그에 기록 하는 방법

이 문서의 Microsoft Visual C++.NET 버전 815661 를 참조 하십시오.
이 문서의 Microsoft Visual Basic.NET 버전을 참조 하십시오.
301279 .

이 문서에서는 다음 Microsoft.NET Framework 클래스 라이브러리 네임 스페이스:
  • System.Diagnostics

이 작업에서는

요약

이 문서는 Microsoft.NET Framework 사용 하 여 운영 체제의 이벤트 로그에 직접 항목을 추가 하는 방법을 보여 줍니다.

요구 사항

다음 목록에서는 권장 되는 하드웨어, 소프트웨어, 네트워크 인프라 및 필요한 서비스 팩 설명 합니다.
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 고급 서버 또는 Windows NT 4.0 서버
  • Microsoft Visual Studio C#

이벤트 로그에 쓰기

이벤트 로깅 중요 한 소프트웨어 및 하드웨어 이벤트를 기록할 수 있는 응용 프로그램에 대 한 표준화 되 고 중앙 집중화 된 방법을 제공 합니다. Windows는 이벤트 뷰어 로그를 보기 위한 표준 사용자 인터페이스를 제공 합니다. 공용 언어 런타임 EventLog 구성 요소를 사용 하 여 쉽게 로컬 및 원격 컴퓨터의 기존 이벤트 로그에 연결할 수 있으며이 로그에 엔트리를 씁니다. 또한 기존 로그에서 엔트리를 읽을 수 있으며 사용자 지정 이벤트 로그를 만듭니다. 가장 단순한 형태의 이벤트 로그에 쓰기 샘플 응용 프로그램을 만들려면 몇 가지 단계만 포함 됩니다. 이렇게 하려면, 다음 단계를 수행하십시오.
  1. Visual Studio C#를 엽니다.
  2. 새 콘솔 응용 프로그램을 만들고 Visual C#. 콘솔 응용 프로그램을 빈 Main 메서드 및 공용 클래스를 만듭니다.
  3. 프로젝트 참조 적어도 System.dll 파일을 확인 합니다.
  4. 코드에서이 네임 스페이스의 선언을 한정 하지 않은 수 있도록 시스템System.Diagnostics 네임 스페이스에 using 지시문을 사용 합니다. 이 명령문은 항상 선언 앞에 사용 해야 합니다.
    using System;using System.Diagnostics;

  5. 이벤트 로그를 작성 하려면 일부의 정보가 있어야: 메시지, 로그 이름 쓰기 (이미 존재 하지 않으면 생성 됩니다), 이벤트의 소스를 나타내는 문자열을 지정할 수 있습니다. 특정 소스는 하나의 이벤트 로그 에서만; 등록할 수 있습니다. 둘 이상의 로그에 메시지를 기록 하려면 여러 소스를 정의 해야 합니다.
    string sSource;string sLog;
    string sEvent;

    sSource = "dotNET Sample App";
    sLog = "Application";
    sEvent = "Sample Event";

  6. EventLog 클래스의 정적 메서드 두 개를 사용 하 여 소스에 있는지 여부를 확인 한 다음, 특정 이벤트 로그와 연관 된이 소스를 만드는 소스는 존재 하지 않는 경우. 지정한 로그 이름이 없는 경우 첫 번째 항목은 로그에 쓸 때 이름은 자동으로 만들어집니다. 기본적으로 CreateEventSource 메서드를 로그 이름을 지정 하지 않는 경우 로그 파일 이름이 "" 응용 프로그램 로그.
    if (!EventLog.SourceExists(sSource))EventLog.CreateEventSource(sSource,sLog);

  7. 이벤트 로그에 메시지를 작성 하려면 정적 EventLog.WriteEntry 메서드를 사용할 수 있습니다. 이 메서드에 여러 오버 로드 된 버전입니다. 다음 샘플 코드에서는 소스 문자열 메시지 및 이벤트 ID 및 이벤트 유형을 지정할 수 있는 더 복잡 한 메서드 중 하나를 사용 하는 가장 간단한 방법을 보여 줍니다.
    EventLog.WriteEntry(sSource,sEvent);EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.Warning,  234);

  8. 응용 프로그램을 저장 합니다. 응용 프로그램을 실행 한 다음 새 이벤트를 보려면 이벤트 뷰어에서 응용 프로그램 로그를 확인 합니다.

전체 코드 목록

using System;using System.Diagnostics;

namespace WriteToAnEventLog_csharp
{
/// Summary description for Class1.
class Class1
{
static void Main(string[] args)
{
string sSource;
string sLog;
string sEvent;

sSource = "dotNET Sample App";
sLog = "Application";
sEvent = "Sample Event";

if (!EventLog.SourceExists(sSource))
EventLog.CreateEventSource(sSource,sLog);

EventLog.WriteEntry(sSource,sEvent);
EventLog.WriteEntry(sSource, sEvent,
EventLogEntryType.Warning, 234);
}
}
}

속성

문서 ID: 307024 - 마지막 검토: 2017. 2. 6. - 수정: 2

피드백