2012-11-01 3 views
23

Azure를 처음 사용했습니다. Azure 웹에 배포 된 웹 사이트에서 자세한 오류 메시지를받는 방법을 아는 사람이 있습니까? 요청을 처리하는 동안 Azure 웹 사이트에서 오류 세부 정보를 얻는 방법

내가 웹 사이트에 지금 등록 및 로그인 (포스트)에 SimpleMembership를 추가하는

죄송 보이고있다 오류가 발생했습니다.

내 가정용 컴퓨터의 DB에 연결 중입니다 (연결시 문제 없음).

LogFiles azure ftp 서버의 폴더에는 일부 파일이 있지만이 정보를 사용하는 방법을 알지 못합니다.

첫째, 당신은 당신의 웹 설정에서 사용자 정의 오류를 해제 할 수 있습니다 나는

답변

24

당신은 두 가지 옵션이 있습니다 ... 나는 푸른에 YellowScreen를 얻을 수 있습니다 바랍니다. 이것은 신속하고 더러운 접근법이지만 적어도 당신이 찾고있는 정보를 얻을 것입니다. 완료되면 사용자 정의 오류를 다시 켜십시오. 참고 :이 메서드는 스택 트레이스를 전 세계에 표시합니다.

<configuration> 
    <system.web> 
    <customErrors mode="Off" /> 
    </system.web> 
</configuration> 

두 번째로 원격 데스크톱을 배포 된 컴퓨터로 가져 와서 IIS 관리자로 이동하여 사이트를 탐색 할 수 있습니다. 일단 당신이 거기에 있다면, 오류를 재현하면 찾고있는 죽음의 노란색 화면이 나옵니다. 이 작업을 수행하려면 Enable Detailed Errors

+2

난 그냥 사용자 지정 오류를 비활성화하고 스택 트레이스를 제시한다는 사실을 강조하기 위해, 첫 번째 옵션 2를 나열합니다 일반적으로 나쁜 생각입니다. Azure SDK 도구를 원격으로 사용하거나 Visual Studio에서 이벤트 로그를 보려면 사용할 수 있습니다. – angularsen

+0

옵션 2는 VM에서 사용할 수 있습니까? Azure 웹 사이트로 배포 한 경우 IIS에 액세스 할 필요가 없습니까? – Shumii

+0

이전 또는 새 포털의 영역에서 오류를 표시 할 것으로 기대합니다 (실제로는 세부 사항이 아니라 개수를 제공합니다). 기본적으로 내가 EventViewer와 비슷한 것을 찾고 있는데 – Shumii

0

오류 로그를 저장할 db 테이블을 만듭니다. EF와 로그 테이블을 사용하고 있습니다. App_Start 폴더 추가에 FilterConfig.cs에서

public class MyAppExceptionFilter : IExceptionFilter 
    { 
     private MyApp.Models.ApplicationDbContext db = new Models.ApplicationDbContext(); 

     public void OnException(ExceptionContext context) 
     { 
      Exception ex = context.Exception; 
      Log log = new Log(); 
      log.DateTime = DateTime.Now; 
      log.LogText = "Exception happened, text:" + ex.Message; 
      try 
      { 
       log.LogText +="User details:"+context.HttpContext.User.Identity.Name; 
      } 
      catch 
      { 
       log.LogText += "User details:none"; 
      } 
      db.Logs.Add(log); 
      db.SaveChanges(); 
     } 
    } 

:

클래스를 만듭니다

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
     { 
      filters.Add(new HandleErrorAttribute()); 
      *filters.Add(new MyAppExceptionFilter());* 
     } 
+0

elmah는 휠체어를 재발 명할 필요없이 무료로이 작업을 수행합니다. 당신이 거기에 몇 가지 훌륭한 솔루션을 지불하면. – rolls

관련 문제