2013-06-13 3 views
4

내 웹 응용 프로그램에서 Windows 이벤트 로그에 사용자 지정 이벤트를 쓰려고합니다. 메시지 문자열이 제대로 작동하지 않아 "Y 원본의 이벤트 ID X에 대한 설명을 찾을 수 없습니다.""원본 Y에서 이벤트 ID X에 대한 설명을 찾을 수 없습니다."

이 부분을 좁히려면 이미 내 컴퓨터에있는 소스에 이벤트를 작성하기로 결정했습니다. 이 여전히 이벤트 뷰어에서 다음 나에게 준다, 그러나

var log = new EventLog("Application"); 
log.Source = "SceCli"; 

var ev = new EventInstance(1704, 0, EventLogEntryType.Information); 
log.WriteEvent(ev); 

:

난 그냥 특별히 SceCli 이벤트 (1704)

나는 다음과 같은 코드를 실행, 이미 기록 된 이벤트 중 하나 보았다

원본 (SceCli)의 이벤트 ID (1704)에 대한 설명을 찾을 수 없습니다. 로컬 컴퓨터에 원격 컴퓨터의 메시지를 표시하는 데 필요한 레지스트리 정보 또는 메시지 DLL 파일이 없을 수 있습니다./AUXSOURCE = 플래그를 사용하여이 설명을 검색 할 수 있습니다. 자세한 내용은 도움말 및 지원을 참조하십시오. 다음 정보는 이벤트의 일부입니다. 이벤트 로그 파일이 손상되었습니다.

여기에 무엇이 누락되어 있는지 잘 모르겠습니다. 이미 존재하는 동일한 이벤트를 작성 중이며 여전히 메시지 문자열을 찾을 수 없습니다.

+1

가능한 [소스의 이벤트 ID에 대한 설명을 찾을 수 없습니다] (http://stackoverflow.com/questions/3412463/description-for-event-id-from-source-cannot-be-found) –

답변

0

다른 이벤트를 제대로 볼 수 있습니까? C# 이벤트 클래스가 이벤트 메시지 파일의 이벤트 템플리트와 일치하는 올바른 수의 매개 변수를 제공하지 않기 때문에 대부분 특정 소스 및 이벤트 ID (SceCli/1704)를 사용할 수 없습니다. 나는 이벤트 메시지 파일에 단지 "% 1"이있는 소스에서만 작동 할 것이라고 생각합니다 (자세한 내용은 http://www.eventid.net/show-DocId-22.htm 참조).

어쨌든 사용자 정의 응용 프로그램에 대한 소스를 작성한 다음 (존재하지 않는 경우) 로그 항목을 기록해야한다고 생각합니다. 이벤트를 기록하기 전에 소스가 있는지 확인하고 소스가없는 경우 만듭니다.

1

나는 또한 비슷한 문제에 직면했습니다. 많은 연구를 한 후에 본인은이 기사에 따라 단계를 확인했습니다. http://www.codeproject.com/Articles/4166/Using-MC-exe-message-resources-and-the-NT-event-lo 모든 것이 제자리에있는 것처럼 보였습니다. 한 가지만 빼면 ..이 msdn을 발견했을 때 깨달았습니다. http://msdn.microsoft.com/en-us/library/windows/desktop/aa363661(v=vs.85).aspx

마지막 단락에서 .. '응용 프로그램이 RegisterEventSource를 호출하고 레지스트리에서 찾을 수없는 소스 이름을 전달하면 이벤트 로깅 서비스는 다음을 사용합니다. 기본적으로 응용 프로그램 로그 그러나 메시지 파일이 없으므로 이벤트 표시기는 이벤트 식별자 나 이벤트 범주를 설명 문자열에 매핑 할 수 없으며 오류를 표시합니다. 이러한 이유로 응용 프로그램의 레지스트리에 고유 이벤트 소스를 추가하고 메시지 파일을 지정해야합니다. ' 따라서 RegisterEventSource의 내 응용 프로그램 이름이 레지스트리의 응용 프로그램 이름과 일치하지 않습니다. 이 문제를 해결하고 지금은 작동합니다 ... 그래서이 문제가 얼굴에 레지스트리 항목을 두 번 확인하십시오.

+0

있음 내 응용 프로그램에서 일반적으로 키를 설치하는 문제가 발생하면 시작시 이벤트 로그 항목이 추가됩니다. 내 애플 리케이션을 시작 하고이 오류가있어. 설치 중에 문제가 발생하여 키가 생성되지 않았습니다. 기본적으로이 대답은 나에게 "레지스트리에 가서 키가 있는지 확인하십시오."라고 말했습니다. 감사합니다 - 발견되지 않았고 거기에서 계속할 수있었습니다. – vapcguy

관련 문제