이것은 내가하는 일이며, 이메일 문제 때문에 여전히 버그가 있습니다.
DB에 아무 것도 보관하지 마십시오. DB에 오류가있는 경우 논리적으로 DB 원인에 오류가 없으므로 삽입이 실패합니다! [응용 프로그램 이름] [타임 스탬프 : DDMMYYYY HHMMSS] 메시지 : 응용 프로그램, 오류 메시지, 스택 추적 정보
그래서 나는
[email protected]
주제 같은 특별한 이메일 주소로 이메일을 보내 Referrer 같은 사용자 이름 및 서버 변수와 같은 세션 변수.
하는 ASP.NET 개발자의 가장 친한 친구는 당신이 전화 무엇인지, 무엇이 잘못되었는지 알 수 있다고 여기 어디가 호출되었으며, 스택 추적 정보입니다.
이 시스템에있는 유일한 문제은 전자 메일에 문제가 있거나 (전자 메일을 보낼 때 예외가 있음) 아무 것도받지 못한다는 것과 그 때문에 월간 XML 파일에 추가하기 시작한 것입니다 [ errorLog_mmm_yyyy.xml]을 작성하고 그리드 뷰에 XML을로드 한 간단한 "드래그 앤 드롭"페이지를 만들어서 오류를 확인하고 싶었습니다.
try
{
// production code
}
catch(Exception ex)
{
Utilities.Mail.SendError(ex);
}
또는 가장 좋은 방법 : Global.asax에있는 함으로써 Application_Error에 추가
<%@ Application Language="C#" %>
<%@ Import Namespace="System.Diagnostics" %>
<script language="C#" runat="server">
void Application_Error(object sender, EventArgs e)
{
//get reference to the source of the exception chain
Exception ex = Server.GetLastError().GetBaseException();
//log the details of the exception and page state to the
//Windows Event Log
EventLog.WriteEntry("myWebApplication name",
"MESSAGE: " + ex.Message +
"\nSOURCE: " + ex.Source +
"\nFORM: " + Request.Form.ToString() +
"\nQUERYSTRING: " + Request.QueryString.ToString() +
"\nTARGETSITE: " + ex.TargetSite +
"\nSTACKTRACE: " + ex.StackTrace,
EventLogEntryType.Error);
Utilities.Mail.SendError(ex);
}
</script>
을 코드로 이벤트 로그에 오류를 추가 위에, 나는에 오류를 추가 SendError (Exception) 함수의 XML 파일.
DB에 모든 것을 보관하는 문제는 DB 자체에 오류가있는 경우 시스템에 삽입 할 수 없으므로 일상 보고서에 오류가 표시되지 않는다는 것입니다. :-) – balexandre