快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
gt;
<h1>custom error page</h1>
</body>
</html>
404page.aspx(页面没找到错误) 代码
<html>
<head></head>
<body>
<h1>404 error page</h1>
</body>
</html>

403page.aspx(权限错误)代码
<html>
<head></head>
<body>
<h1>403 error page</h1>
</body>
</html>

设置以上页面以后,最重要的,我们需要设置全局配置文件global.asax,这样错误信息才可以保存到系统日志,我们来看这个文件怎样设置。

<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Diagnostics" %>
<script language="VB" runat=server>

Public Sub Application_OnError(Sender as Object, E as EventArgs)
''捕捉错误
dim LastError as Exception = Server.GetLastError()
Dim ErrMessage as String = LastError.toString()

''这里设置日志的名字为“MyLog”
Dim LogName As String = "MyLog"
Dim Message As String = "Url " & Request.Path & " Error: " & ErrMessage

'' 如果日志不存在,建立一个
If (Not EventLog.SourceExists(LogName)) Then
EventLog.CreateEventSource(LogName, LogName)
End if

Dim Log as New EventLog
Log.Source = LogName

''以下列出了五中错误
Log.WriteEntry(Message, EventLogEntryType.Information, 1)
'' Log.WriteEntry(Message, EventLogEntryType.Error, 2)
'' Log.WriteEntry(Message, EventLogEntryType.Warning, 3)
'' Log.WriteEntry(Message, EventLogEntryType.SuccessAudit, 4)
'' Log.WriteEntry(Message, EventLogEntryType.FailureAudit, 5)
End Sub
</script>

在以上设置中,定义了当错误发生的时候,WEB服务器将首先检查是否存在名为“MyLog”的日志,如果不存在,建立一个。然后,将错误信息写入日志并保存。在以上的设置中,我们注意以下几点:(1)以上代码中,我们将日志命名为“MyLog”,在实际应用中,我们可以根据自己的要求设置日志名字,比如“××的网站日志”等,这样不但容易辨别,而且也不会被其他管理员认错为别的内容;(2)以上我们给出的错误页面很简单,就是一个简单语句。在实际网站应用中,我们可以有几个选择,首先,我们可以将所有这些错误页面设置为网站的首页,当页面出错或者页面不存在的时候,直接将用户引导到网站首页,这样不显示错误信息,对用户而言可能浏览感觉较好;另外,也可以设置将错误页面设置比较友好,最好是一般用户都可以理解方式而不是简单的英文提示。

四、查看效果

现在,我们打开“事件查看”来验证是否将事件写入日志。打开“程序”->“管理”->“事件查看器”,选择“MyLog”,我们可以看到以下的界面(图一):

在上图中,我们看到了MyLog里面有几个事件,打开查看,我们可以看到错误信息确实意见记录下来(图二):

五、总结

以上,我们用完整的举例详细介绍了错误信息写入系统日志的实现方法。这样实现以后,相信对系统管理和网站管理都可以起到很好的帮助作用。同时,在实用ASP.NET的过程中,我们不得不一次次惊叹它功能的完善,ASP.NET不但的页面设计、数据库访问、缓存等方面功能和性能大大提高,而且,在与系统的结合、整个环境的管理等方面也进一步完善。所以,对于习惯ASP或者PHP等其他语言编程的用户,在使用ASP.NET以后,不能只仅仅关注页面实现和数据处理等常规操作

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号