快速业务通道

用ASP.NET将网页错误信息写入系统日志

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22

设计网站的时候,不可能我们的网站不出现一点错误,常见的“页面不存在”“页面运行出错”等错误信息一般网站多少总是存在的,关键是,这些错误出现以后,管理员怎样方便及时的发现它们、尽量减少用户对网站的不好印象。不管是IIS 4还是IIS 5,我们都可以设置网站的“自定义错误信息”,通过这样的设置,一些系统默认的比较不友好的错误信息就可以更换为网站管理员自定义的页面,这对于网站的实用和友好性都大有帮助。但是,我们在使用过程中却发现一个比较不方便的问题,当我们查看网站日志的时候,我们发现了这些错误页面的出现,但是,却不能在系统事件查看这些错误信息。而在网站的日志部分查看这些错误信息又比较麻烦,有没有办法可以直接将产生的错误信息象安全日志一样保存在系统日志部分呢?ASP.NET现在就可以做到。现在,我们一步步学习怎样实现这个功能。

一、建立EventLog虚拟目录

实现,我们在我们的网站建立一个名为“EventLog”的虚拟目录,具体建立方法如下:在Win2000中,打开“开始”->“程序”->“管理工具”->“Internet信息服务”,找到建立的网站,邮件点击选择“新建”,在弹出的菜单选择“虚拟目录”,然后按照向导设置即可。

二、修改WEB.CONFIG文件

我们知道,在WEB.CONFIG文件中,我们可以象IIS的“自定义错误信息”页面一样设置错误信息页面的位置和错误信息是否显示等。为了实现本文提到的功能,我们需要适当修改WEB.CONFIG文件,打开“customErrors mode”为“ON”,目的是非地计算机用户只能得到友好(自定义)的错误信息,具体设置如下:

<configuration>
<system.web>
<customErrors mode="On" defaultRedirect="/eventlog/customerrorpage.aspx">
<error statusCode="404" redirect="/eventlog/404Page.aspx"/>
<error statusCode="403" redirect="/eventlog/403page.aspx"/>
</customErrors>
</system.web>
</configuration>

在以上的设置中,我们看到,当404和403错误产生的时候,会将页面转到刚才我们设置EventLog虚拟目录的相应页面。

三、建立其他文件

为了试验我们的设置是否成功,首先,我们必须设立一个可以产生错误的页面Default.aspx,这个页面的代码如下:

Default.aspx 页面代码

<% @Language="VB" %>
<script language="VB" runat=server>
Sub Page_Load(Sender As Object, E As EventArgs)
If IsPostBack Then
''定义变量
dim x as integer
dim y as integer
dim z as integer

x = 1
y = 0

''产生错误
z = x/y
End Sub
</script>

<html>
<head>
</head>
<body>
<form method="post" action="eventlog.aspx" name="form1" id="number">
<asp:Button id="abutton" type="submit" text="点击产生错误" runat="server" />
</form>
</body>
</html>

以上代码我们设计了一个除零的错误页面,显然,按钮提交时这个页面肯定出错,我们需要查看是否错误会加入系统日志。现在,我们来看错误页面的代码,这里,我们可能用到三个错误页面customerrorpage.aspx、404Page.aspx、403Page.aspx,这些页面都放在虚拟目录EventLog下。它们的代码分别如下:

Customerrorpage.aspx 代码


<html>
<head></head>
<body&

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号