현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

HOWTO: C# .NET을 사용하여 이벤트 로그에 기록

이 문서는 이전에 다음 ID로 출판되었음: KR307024
본 문서에서는 Microsoft 제품의 베타 릴리스에 대해 설명합니다. 본 문서의 정보는 "있는 그대로" 제공되며 사전 통보 없이 변경될 수 있습니다.

이 베타 제품은 Microsoft의 공식 제품 지원 서비스를 받을 수 없습니다. 베타 릴리스 지원에 대한 자세한 내용을 알려면 베타 제품 파일에 포함된 설명서를 참조하거나 릴리스를 다운로드한 웹 사이트를 확인하십시오.

본 문서의 Microsoft C# .NET 버전에 대한 내용은 301279를 참조하십시오.

작업 내용

요약
본 문서에서는 Microsoft .NET Framework를 사용하여 운영 체제의 이벤트 로그에 사용자 지정 항목을 추가하는 방법을 보여줍니다.

맨 위로

요구 사항

다음은 권장 하드웨어, 소프트웨어, 네트워크 인프라 및 서비스 팩입니다.
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server 또는 Windows NT 4.0 Server
  • Microsoft Visual Studio .NET
맨 위로

이벤트 로그에 기록

이벤트 로깅은 응용 프로그램에서 중요한 소프트웨어와 하드웨어 이벤트를 기록하는 표준 방법을 제공합니다. Windows는 로그를 볼 수 있는 표준 사용자 인터페이스인 이벤트 뷰어를 제공합니다. 공용 언어의 런타임 EventLog 구성 요소를 사용하면 로컬 컴퓨터와 원격 컴퓨터의 기존 이벤트 로그에 손쉽게 연결하여 로그 항목을 기록할 수 있습니다. 또한 기존 로그 항목을 읽고 사용자 지정 이벤트 로그를 만들 수 있습니다. 가장 간단한 형태의 이벤트 로그에 기록하는 작업에는 다음과 같이 예제 응용 프로그램을 만드는 몇 가지 단계만 포함됩니다.
  1. Visual Studio .NET을 엽니다.
  2. Microsoft C#에서 새 콘솔 응용 프로그램을 만듭니다. 그러면 Visual C# .NET에서 빈 Main() 메서드가 있는 공용 클래스를 자동으로 만듭니다.
  3. 프로젝트에서 System.dll을 참조하는지 확인합니다.
  4. SystemSystem.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>	/// Summary description for Class1.	/// </summary>	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);		}	}}<BR/><BR/>
맨 위로


속성

문서 ID: 307024 - 마지막 검토: 11/05/2001 14:21:00 - 수정: 1.0

Microsoft Visual C# .NET 2002 Standard Edition

  • kbhowto kbhowtomaster KB307024
피드백