ASP.NET错误处理 日志记录
2010-04-18 23:21
597 查看
Java有log4j记录错误日志,而asp.net可以自己写一个来记录错误日志!
先封装一个类
2.. 类写好了!哪里调用呢? 新建个Global.asax文件吧!
这样只要一发生错误了,都会记录到日志里面! 你只需定期去检查错误日志了
当然你也可以在错误中记录,如:
OVER
Technorati 标签: asp.net,error
var OB_langJS = 'http://widgets.outbrain.com/lang_chi.js'
var OBITm = '1270567224412';
var OB_raterMode = 'stars';
var OB_recMode = 'rec';
var OutbrainPermaLink='http://www.cnblogs.com';
if ( typeof(OB_Script)!='undefined' )
OutbrainStart();
else {
var OB_Script = true;
var str = '<\/script>';
document.write(str);
document.write("");
}
先封装一个类
using System; using System.Collections.Generic; using System.Linq; using System.Web;
using System.IO; using System.Globalization; /// <summary> /// ErrHandler 错误日志处理类 /// </summary> public class ErrHandler { public ErrHandler() { // // TODO: Add constructor logic here // } public static void WriteError(Exception e) { try { ///错误日志记录地址[每天产生一个日志文件] string path = "~/Error/" + DateTime.Today.ToString("dd-MM-yy") + ".log"; if (!File.Exists(System.Web.HttpContext.Current.Server.MapPath(path))) { ///不存在该日志,则创建 File.Create(System.Web.HttpContext.Current.Server.MapPath(path)).Close(); } ///写日志记录 using (StreamWriter w = File.AppendText(System.Web.HttpContext.Current.Server.MapPath(path))) { w.WriteLine("Error Recode:"); w.WriteLine("\tError Time:{0}", DateTime.Now.ToString(CultureInfo.InvariantCulture)); w.WriteLine("\tError Address:" + System.Web.HttpContext.Current.Request.Url.ToString()); w.WriteLine("\tTargetSite:" + e.TargetSite); w.WriteLine("\tError Message:" + e.Message); w.WriteLine("\tError HelpLink:" + e.HelpLink); w.WriteLine("\tError StackTrace:" + e.StackTrace); w.WriteLine("************************************************************************************"); w.WriteLine("\r\n\r\n"); w.Flush(); w.Close(); } } catch (Exception ex) { WriteError(ex); } } }
2.. 类写好了!哪里调用呢? 新建个Global.asax文件吧!
<%@ Application Language="C#" %> <script runat="server"> void Application_Start(object sender, EventArgs e) { // Code that runs on application startup } void Application_End(object sender, EventArgs e) { // Code that runs on application shutdown } void Application_Error(object sender, EventArgs e) { //获取最后的错误 Exception objErr = Server.GetLastError().GetBaseException(); // 这里开始记录咯 ErrHandler.WriteError(objErr);
//清除前一个错误
Server.ClearError(); } void Session_Start(object sender, EventArgs e) { // Code that runs when a new session is started } void Session_End(object sender, EventArgs e) { // Code that runs when a session ends. // Note: The Session_End event is raised only when the sessionstate mode // is set to InProc in the Web.config file. If session mode is set to StateServer // or SQLServer, the event is not raised. } </script>
这样只要一发生错误了,都会记录到日志里面! 你只需定期去检查错误日志了
当然你也可以在错误中记录,如:
try { throw new Exception("Error"); } catch (Exception ex) { ErrHandler.WriteError(ex); }
OVER
Technorati 标签: asp.net,error
var OB_langJS = 'http://widgets.outbrain.com/lang_chi.js'
var OBITm = '1270567224412';
var OB_raterMode = 'stars';
var OB_recMode = 'rec';
var OutbrainPermaLink='http://www.cnblogs.com';
if ( typeof(OB_Script)!='undefined' )
OutbrainStart();
else {
var OB_Script = true;
var str = '<\/script>';
document.write(str);
document.write("");
}
相关文章推荐
- ASP.NET全局错误处理和异常日志记录以及IIS配置自定义错误页面
- Asp.Net : 捕捉和记录网站中出现的所有未处理错误,抛出详细的页面来源和访问ip,调用的接口方法及异常实例(记事本日志,系统日志及数据库日志)
- ASP.NET错误处理 日志记录
- Asp.Net 2.0 中错误处理的几种方法(发邮件及记录信息到系统事件中)
- asp.net中的日志添加和未处理异常的记录
- Log4net 框架系列:log4net日志文件在asp.net中的应用实例-记录系统错误
- ASP.NET记录错误日志的方式
- WCF开发错误处理记录(无法激活服务,因为它不支持 ASP.NET 兼容性)
- ASP.NET记录错误日志的方式
- asp.net记录错误日志的方法
- ElMAH(ASP.NET错误日志记录与通知)系列文章-基础应用篇
- ElMAH(ASP.NET错误日志记录与通知)系列文章-基础应用篇
- 使用Spring.NET统一ASP.NET异常处理并记录日志
- asp.net记录错误日志
- 我在Asp.net记录错误日志的代码
- ELMAH (ASP.NET错误日志处理)使用方法
- ASP.NET记录错误日志
- 开发错误处理记录(无法激活服务,因为它不支持 ASP.NET 兼容性)
- Asp.net 自定义错误处理并写入系统日志
- ASP.NET记录错误日志