2012-11-28 3 views
2

Azure 앱이 실행 중이지만 다양한 요청이 500 오류를 생성합니다. 그 문제가 무엇인지 정확히 알 수 있도록 서버에서 돌아 오는 다른 세부 정보는 없습니다. 스택 추적 없음, 오류 메시지 없음 내가 서버에서 돌아 오는 유일한 이유는 오류가 있음을 나타내는 http 헤더입니다.Azure 실패 요청 오류 세부 정보

나는 주위를 찾고 조금 해봤지만 내가 찾고 오류 세부 정보를 검색 할 수있는 방법을 찾을 수 없습니다. 로깅을 사용하도록 제안하는 몇 가지 기사를 보았습니다. 그러나 1) 수행 방법, 2) 로그 파일의 위치 및 3) 로그 파일에 액세스하는 방법을 잘 모릅니다. 로깅을 가능하게하기 위해 응용 프로그램에 전체 코드를 추가한다고 말하는 게시물을 보았습니다. 그러나 내가 찾고있는 것은 오류 메시지와 500 오류의 스택 추적입니다. 정보를보기 위해 앱에 코드를 추가해야합니까? 그렇지 않다면 어떻게해야합니까?

감사합니다.
Chris

답변

0

가장 좋은 장기적인 해결책은 Azure Diagnostics를 사용하는 것입니다. 이것은 내가 말하는 것입니다. 신속하고 지저분한 솔루션을 원한다면 오류를 파일에 기록한 다음 RDP를 롤 인스턴스로보고이를 볼 수 있습니다. 이것은 자신의 데이터 센터에있는 서버에서 수행 할 작업과 매우 유사합니다.

원하는대로 로그를 만들 수 있습니다. 나는 log4net과 RollingFileAppenders를 약간의 성공과 함께 사용했다. 로그 파일 경로를 "\ logs \ mylog.txt"와 같이 설정하면 VM의 E : 드라이브에 로그가 저장됩니다. 애플리케이션의 어딘가에 오류를 포착하여 로그에 기록하는 코드가 필요합니다. 일반적으로 Global.asax의 전역 오류 처리기가 좋습니다.

또한 역할 인스턴스에 대한 RDP 액세스를 활성화해야합니다. 이를 수행하는 방법을 자세히 설명하는 많은 기사가 있습니다. Here's one.

이 역할이 재활용 또는 재 작성 될 때 로그가 사라질 수 있기 때문에 일반적으로 권장되는 방법은 아닙니다. 또한 모든 다른 서버를 감시하기 위해 기록하는 것이 엉덩이의 고통입니다.

다른 하나의 경고 - 500 오류는 web.config의 일부 오류로 인한 것일 수 있습니다. 이 경우 세계에 기록 된 모든 응용 프로그램 수준 오류로 인해 도움이되지 않습니다. 따라서 web.config가 유효한지 확인하고 서버로 RDP 할 때 Windows 이벤트 로그를 확인하십시오.

0

500 내부 서버 오류는 일반적으로 들어오는 요청을 이해할 수 없거나 구성에 문제가있는 경우 서버의 일부 문제로 인해 발생합니다. 그래서, 로컬에서 응용 프로그램을 실행하고 몇 가지 문제가 있는지보십시오. catches/application_error에서 데이터베이스의 오류를 기록 할 수 있으며 추적을 사용할 수도 있습니다. 저를 믿어 주시면 매우 도움이되며 코드 몇 줄을 추가 할 가치가 있습니다.

추적에 대한 자세한 내용은 여기를 참조하십시오. http://msdn.microsoft.com/en-us/magazine/ff714589.aspx