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

기술 자료 번역 기술 자료 번역
기술 자료: 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;
}

속성

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

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com