ASP.NET记录错误日志的实现方法
2016-01-22 15:17
696 查看
ASP.NET记录错误日志的实现方法
在本文中,我们将通过一个简单的处理来记录在我们的网站中的错误和异常在本文中,我们将通过一个简单的处理来记录在我们的网站中的错误和异常。我们这样操作,每当遇到程序错误时,将使用者导航到一个单独的页面,同时错误将被记录到服务器上的一个文本文件,每当错误发生时,我们将以日志的形式每天记录。
首先,我先写一个静态方法用于将错误信息记录到文本文件,这里是将错误信息记录到服务器上的Error文件夹下
代码如下:
复制代码代码如下:
using System.Globalization;
/// <summary>
/// 用于将错误信息输出到txt文件
/// </summary>
/// <param name="errorMessage">错误详细信息</param>
public static void WriteError(string errorMessage)
{
try
{
string path = "~/Error/" + DateTime.Today.ToString("yyMMdd") + ".txt";
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("\r\nLog Entry : ");
w.WriteLine("{0}", DateTime.Now.ToString(CultureInfo.InvariantCulture));
w.WriteLine(errorMessage);
w.WriteLine("________________________________________________________");
w.Flush();
w.Close();
}
}
catch (Exception ex)
{
WriteError(ex.Message);
}
}
在网站Global.asax文件的Application_Error中加入如下代码
复制代码代码如下:
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
Exception objErr = Server.GetLastError().GetBaseException();
//记录出现错误的IP地址
string strIP = Request.UserHostAddress;
string err = "Ip【" + strIP + "】" + Environment.NewLine + "Error in【" + Request.Url.ToString() +
"】" + Environment.NewLine + "Error Message【" + objErr.Message.ToString() + "】";
//记录错误
FN.WriteError(err);
}
配置Web.Config文件
复制代码代码如下:
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<!--可以指定其他错误页面...-->
</customErrors>
</system.web>
建立一个GenericErrorPage.htm文件,用于使用者出现错误时呈现的错误页面。
转载:http://www.jb51.net/article/36345.htm
相关文章推荐
- 在ASP.Net中写系统日志
- Spring AspectJ AOP 完整示例
- ASP.Net中Session失效的一种编程思路
- 架构系列:ASP.NET 项目结构搭建
- 坎坷路:ASP.NET Core 1.0 Identity 身份验证(中集)
- Asp.Net中动态页面转静态页面
- ASP.NET 4.0尚未在 Web 服务器上注册 解决方法
- ASP.NET Core 1.0基础之静态文件处理
- ASP.NET 写错误日志以及错误引导页
- 让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求
- kali 2.0 启动metasploit服务
- Asp.Net WebAPI 中Cookie 获取操作方式
- ASP.NET Web API实现缓存的2种方式
- ASP.NET十分有用的页面间传值方法
- ASP.NET Web API中通过URI显示实体中的部分字段
- JSP与ASP.PHP的比較
- RaspberryPi和Arduino控制温室温度
- PagedDataSource数据绑定控件和AspNetPager分页控件结合使用列表分页
- asp.net中将数据导出
- 在 ASP.NET MVC 3 中应用 KindEditor