close
在網路上看到用來紀錄Exception訊息的方式,看來還蠻不錯用的,記下來以後需要時可以使用
有三種儲存方式
1.記錄在事件檢視器裡
2.記錄在文字檔裡
3.用Email寄出訊息
設定方式如下:
先打開Global.asax
- <%@ Application Language="C#" %>
- <script RunAt="server">
- void Application_Start(object sender, EventArgs e)
- {
- // 應用程式啟動時執行的程式碼
- }
- void Application_End(object sender, EventArgs e)
- {
- // 應用程式關閉時執行的程式碼
- }
- void Application_Error(object sender, EventArgs e)
- {
- string Message = "";
- Exception ex = Server.GetLastError();
- Message = "發生錯誤的網頁:{0}錯誤訊息:{1}堆疊內容:{2}";
- Message = String.Format(Message, Request.Path + Environment.NewLine, ex.GetBaseException().Message + Environment.NewLine, Environment.NewLine + ex.StackTrace);
- //寫入事件撿視器,方法一
- System.Diagnostics.EventLog.WriteEntry("WebAppError", Message, System.Diagnostics.EventLogEntryType.Error);
- //寫入文字檔,方法二
- System.IO.File.AppendAllText(Server.MapPath(string.Format("Log\\{0}.txt", DateTime.Now.Ticks.ToString())), Message);
- //寄出Email,方法三
- //此方法請參考System.Net.Mail.MailMessage
- //清除Error
- Server.ClearError();
- Response.Write("系統錯誤,請聯絡系統管理員!!");
- }
- void Session_Start(object sender, EventArgs e)
- {
- // 啟動新工作階段時執行的程式碼
- }
- void Session_End(object sender, EventArgs e)
- {
- // 工作階段結束時執行的程式碼。
- // 注意: 只有在 Web.config 檔將 sessionstate 模式設定為 InProc 時,
- // 才會引發 Session_End 事件。如果將工作階段模式設定為 StateServer
- // 或 SQLServer,就不會引發這個事件。
- }
- </script>
參考文章 http://www.dotblogs.com.tw/puma/archive/2008/08/31/5260.aspx
全站熱搜
留言列表