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

Visual C++를 사용하여 이벤트 로그에 쓰는 방법

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

815661
이 문서에서는 Microsoft Visual C# .NET 버전에 307024 참조하십시오.
이 문서에서는 Microsoft Visual Basic .NET 버전에 301279 참조하십시오.

이 문서에서는 다음 Microsoft .NET Framework 클래스 라이브러리와 참조하는 네임스페이스를:
  • 시스템
  • System.Diagnostics
소개
이 문서에서는 Microsoft .NET Framework를 사용하여 운영 체제 이벤트 로그에 직접 항목을 추가하는 방법에 대해 설명합니다.
추가 정보

요구 사항

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

이벤트 로그에 쓰기

이벤트 로깅 중요한 소프트웨어 및 하드웨어 이벤트를 기록할 수 있는 응용 프로그램에 대한 중앙 집중화된 표준 방법을 제공합니다. Windows에서는 로그를 볼 수 있는 표준 사용자 인터페이스와 제공합니다: 이벤트 뷰어. 공용 언어 런타임 EventLog 구성 요소를 사용하여 로컬 및 원격 컴퓨터에서 기존 이벤트 로그를 쉽게 연결할 수 있고 이러한 로그에 엔트리를 씁니다. 또한 기존 로그에서 엔트리를 읽고 사용자 지정 이벤트 로그를 만들 수 있습니다. 가장 단순한 형태의 이벤트 로그에 쓰기 샘플 응용 프로그램을 만드는 데 몇 가지 단계가 포함됩니다.

이렇게 하려면 다음과 같이 하십시오.
  1. Visual Studio .NET 또는 Visual Studio 2005 시작하십시오.
  2. 새 Visual C++ Managed C++ 응용 프로그램 프로젝트를 만듭니다.

    참고 Visual C++ .NET 2003 에서는 다음과 같이 하십시오.
    1. 프로젝트 형식Visual C++ 프로젝트 를 클릭하십시오.
    2. 템플릿콘솔 응용 프로그램 (.NET)를 클릭하십시오.
    Visual C++ 2005에서는 다음과 같이 하십시오.
    1. 프로젝트 형식Visual C++ 를 누릅니다.
    2. 템플릿CLR 콘솔 응용 프로그램 을 누릅니다.
  3. 코드에 다음 줄을 추가하여 시스템 참조를 추가합니다:
    #using <system.dll>
  4. using 사용할 지시문 시스템System::Diagnostics 네임스페이스에 대한 있도록 나중에 코드에서 이 네임스페이스의 선언을 한정하지 않아도 됩니다. 다음 명령문은 항상 선언 앞에 사용해야 합니다:
    using namespace System;using namespace System::Diagnostics;
  5. 이벤트 로그에 쓰려면 일부의 정보가 있어야 합니다: 사용자 메시지, 로그 파일의 이름 (아직 없는 경우 이 만들어진) 쓰기 및 이벤트 원본을 나타내는 문자열을 넣을 수. 하나의 이벤트 로그에 있는 경우에만 특정 소스를 등록할 수 있습니다; 둘 이상의 로그에 메시지를 작성하려는 경우 여러 원본에. 정의해야 합니다
    String *sSource;	String *sLog;	String *sEvent;	sSource = new String("dotNET Sample App1");	sLog = new String("Application1");	sEvent = new String("Sample Event1");
  6. EventLog 클래스의 정적 메서드를 두 원본 있는지 여부, 확인한 원본 존재하지 않는 경우, 특정 이벤트 로그를 사용하여 관련된 이 원본을 만들 수 있습니다. 지정한 로그 이름이 없는 경우 첫 번째 항목이 로그에 쓸 때 이름은 자동으로 만들어집니다. CreateEventSource 메서드를 로그 이름을 지정하지 않으면 기본적으로 응용 프로그램 Log.
    if(!EventLog::SourceExists(sSource)) EventLog::CreateEventSource(sSource,sLog);
    로그 파일 이름이
  7. 정적 메서드 EventLog.WriteEntry 메시지가 이벤트 로그에 쓸 수 있습니다. 이 메서드에는 여러 오버로드된 버전이 있습니다. 다음 코드 예제는 가장 간단한 방법을 보여 줍니다 (이 소스 문자열과 메시지를 사용하는) 및 이벤트 ID 및 이벤트 유형을 지정하는 지원하는) 보다 복잡한 메서드 중 하나를:
    EventLog::WriteEntry(sSource,sEvent);	EventLog::WriteEntry(sSource, sEvent, EventLogEntryType::Warning, 235);
  8. 응용 프로그램을 저장하십시오. 응용 프로그램을 실행하고 새 이벤트를 보려면 이벤트 뷰어의 응용 프로그램 로그를 확인하십시오.

Visual C++ 에서 코드 목록을 완성하십시오. 네트

#include <tchar.h>#using <system.dll>#using <mscorlib.dll>using namespace System;using namespace System::Diagnostics;int _tmain(){	String *sSource;	String *sLog;	String *sEvent;	sSource = new String("dotNET Sample App1");	sLog = new String("Application1");	sEvent = new String("Sample Event1"); if(!EventLog::SourceExists(sSource))   EventLog::CreateEventSource(sSource,sLog);	EventLog::WriteEntry(sSource,sEvent);	EventLog::WriteEntry(sSource, sEvent,		EventLogEntryType::Warning, 234);	return 0;}

Visual C++ 2005 에서 코드 목록 완료

#include <tchar.h>#include <stdafx.h>#using <system.dll>#using <mscorlib.dll>using namespace System;using namespace System::Diagnostics;int main(){	String ^sSource;	String ^sLog;	String ^sEvent;	sSource = gcnew String("dotNET Sample App1");	sLog = gcnew String("Application1");	sEvent = gcnew String("Sample Event1"); if(!EventLog::SourceExists(sSource))   EventLog::CreateEventSource(sSource,sLog);	EventLog::WriteEntry(sSource,sEvent);	EventLog::WriteEntry(sSource, sEvent,		EventLogEntryType::Warning, 234);	return 0;}

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 815661 - 마지막 검토: 01/11/2006 22:15:01 - 수정: 3.0

Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ .NET 2003 Standard Edition, Microsoft Visual C++ .NET 2002 Standard Edition

  • kbmt kbdebug kbhowtomaster kbeventlog kbhowto KB815661 KbMtko
피드백
dChild(m);