2013-07-15 3 views
0

내 ASP.NET MVC 3 앱에서 Elmah를 구성한 다음 오류 로깅을 위해 Elmah.MVC를 구성했습니다. localhost (Windows 7, IIS 6.1)에서 실행될 때 둘 다 잘 기록됩니다. 프로덕션 서버 (2008 R2, IIS 6.1)에는 오류가 기록되지 않습니다. 문제없이 사이트의/elmah 디렉토리를 탐색 할 수 있습니다 (지금은 원격 액세스를 허용했습니다.) XML 로깅을 위해 폴더에 대한 적절한 권한을 설정했지만 기록 된 내용은 없습니다. 나는 "메모리에서"로거를 사용하기 위해 백 트랙을했는데, 여전히 로그가 없다. system.web과 system.webserver에서 모듈과 핸들러가 올바르게 참조되었는지 확인했습니다.Elmah는 로컬 호스트에서 작동하지만 프로덕션 환경에서는 작동하지 않습니까?

나는 Elmah 구성 문제, 사용 권한 등과 관련된 많은 게시물을 찾아 보았지만 아직 그 원인을 발견하지 못했습니다.

Elmah와 관련된 프로덕션 서버에서 누락 된 다른 보안/권한 문제가 있습니까? 그 밖의 무엇이 이것을 일으킬 수 있습니까?

+0

가 여기에 세부 포스트는? 나는 당신의 생산 기계의 구성에 문제가 있다고 생각할 수 있습니다. 어쩌면 모든 오류를 잡아내는 iis 확장이 설정되어서 elmah는 아무 것도 잡지 못합니다. –

답변

0

폴더에서 "읽기 전용"을 선택하지 않았는지 확인하십시오. 감사

0

이 여전히 현재 그러나 나는 비슷한 문제가 발생 된 경우 확실하지 : 당신은 = "오프"하지만 당신이 customErrors에를 변경 한 경우 customErrors에 모드를했을 때 모든 웹 서버에 내 로컬 컴퓨터 에 완벽하게 작동 RemoteOnly 그러면 웹 사이트에 로컬로 액세스 한 경우에만 작동합니다. 해결책은 FilterConfig 섹션에 새 Elmah 필터를 추가하여 elmah가 customErrors 모드에 관계없이 항상 오류를 기록하도록합니다. 여기 http://forums.asp.net/t/1687875.aspx?Elmah+Error+Log+is+not+working+my+production+Server

(포스트에있는 사람에게 신용) 코드 조각입니다 : 여전히 실제 것을

public class FilterConfig { 
    public static void RegisterGlobalFilters(GlobalFilterCollection filters) { 
     filters.Add(new ElmahHandledErrorLoggerFilter()); 
     filters.Add(new HandleErrorAttribute()); 
    } 
} 

public class ElmahHandledErrorLoggerFilter : IExceptionFilter { 
    public void OnException(ExceptionContext context) { 
     //if (context.ExceptionHandled) // Log only handled exceptions, because all other will be caught by ELMAH anyway. 
     //We want elmah to log ALL exceptions 
     ErrorSignal.FromCurrentContext().Raise(context.Exception); 
    } 
} 
관련 문제