ETW는 당신의 목적을 위해 매우 복잡한 것 같다, 여기에 이벤트 로그에 기록하는 절차입니다 :
a) 한 번만 (일반적으로 응용 프로그램을 설치하는 동안 수행) Register your application as a Event Provider; 단지 EventMessageFile
항목은 정말 필요합니다
- 키 = HKEY_LOCAL_MACHINE을 \ 시스템 \ CURRENTCONTROLSET 서비스 \ \ 이벤트 로그 응용 프로그램 \ MyCoolGame
\ - 문자열 이름 (REG_EXPAND_SZ) =으로 EventMessageFile
- 문자열 값 = C : \ WINDOWS \ Microsoft.NET \ 프로그램 시작에 프레임 워크 \ v4.0.30319 \ EventLogMessages.dll
B) : 이벤트 로그에 항목을 기록 할 ReportEvent function를 사용)
hEventLog = RegisterEventSource(NULL, lpszAppNameName);
C : Register Event Source와 핸들을받을
프로그램 종료에
TCHAR szLogBuffer[] = _T("Started new multiplayer server.");
const TCHAR *lpszEventStrings[2] = {szLogBuffer, NULL};
ReportEvent(hEventLog, EVENTLOG_INFORMATION_TYPE, 0, 1, NULL, 1, 0, lpszEventStrings, NULL)
D) :
DeregisterEventSource(hEventLog);
... 사람이 실제로 글로벌 애플리케이션에서 관련 이벤트를 탐지하기 위해 관리하는 경우로 로그인 ... 당신의 이벤트가 실제로 사용하기 위해 조회 할하려는 경우 별도의 로그, "응용 프로그램"하나는 가장 오염 된 것입니다, 당신이 거기에서 찾고있는 것을 발견하는 것은 언제나 악몽입니다. –
@MatteoItalia 개인적으로 내 컴퓨터에서 문제가 발생할 때마다 먼저 이벤트 뷰어를 확인하십시오. 시간의 상당 부분, 거기에있는 정보는 내가 스스로 문제를 해결하도록 인도하거나 적어도 다음에 무엇을 검색해야 하는지를 안다. 내 앱을 사용하는 사람들에게 동일한 경험을 허용하고 싶습니다. 커스텀 이벤트 로그의 문제점은 아무도 거기에 있다는 것을 알지 못한다는 것입니다. – MooseBoys