2010-03-17 2 views
5

두 개의 ASP.NET MVC 웹 응용 프로그램이 있습니다. 그 중 하나는 처리되지 않은 예외를 Windows 이벤트 로그에 기록합니다. 다른 하나는 그렇지 않습니다.ASP.NET 응용 프로그램이 Windows 이벤트 로그에 로깅되지 않습니다.

이벤트 로그 기록을 사용하려면 IIS 또는 web.config에 설정이 있습니까?

광범위한 질문에 사과 드리며, 조사 할 길을 찾고 있습니다.

+0

두 앱에서 표준 옐로우 스크린 죽음을 얻었습니까? IIS/Windows의 어떤 버전입니까? –

+0

ysod - friendly 오류 메시지가 표시되지 않습니다. win2k3/iis6 (?) 및 server2k8/iis7에서도 동일한 동작이 발생합니다. – Ben

+0

@Ben Aston - 오류 메시지는 무엇입니까? – Oded

답변

1

시작된 항목에 대한 CustomErrors를 오류 로그에 추가하는 중입니다.

최종 솔루션의 Web.config의

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"> 
... 

섹션에

<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/> 

을 추가했다. IIS7에서 Elmah를 사용할 수있게되었습니다.

느슨한 이해 - 위의 이유로 잘못 구성된 elmah가 예외를 가로 채고 오류를 삼키는 것으로 나타났습니다. 사용자 정의 오류를 켜면 elmah를 우회하여 오류를 이벤트 로그로 밀어 넣는 것처럼 보였습니다.

3

이것은 일반적으로 웹 응용 프로그램을 실행하는 계정이 이벤트 로그에 쓸 수있는 권한이 없기 때문입니다.

IIS 7에서 응용 프로그램 풀이 실행중인 ID를 확인하십시오.

+0

사이트에 대한 응용 프로그램 풀을 로깅하지 않는 사이트와 동일한 풀로 설정하여이 문제를 해결하지 못했습니다. – Ben

+0

@Oded는 NetworkService 기본 제공 계정에 이벤트 로그에 쓸 수있는 권한이 있습니까? – myroslav

+0

@myroslav - 기존 * 이벤트 소스를 사용하는 한 가능합니다. 새 짝수 소스를 만들 수있는 충분한 레지스트리 권한이 없습니다. – Oded

1

webapp (IIS 사용자)를 실행하는 사용자가 관리자가 아닌 경우 이벤트 소스가 OS에 등록되어 있는지 확인하십시오.

+0

이것은 정확합니다. 이벤트 소스를 만드는 데 특별한 권한이 필요합니다 (reg 열쇠가되는 것).하지만 보안을 제외하고 이벤트 로그에 기록하면 다른 사람에게도 유용 할 수 있습니다. 먼저 높은 권한으로 생성해야합니다. –

관련 문제