BK网络学院

首页搜索登录
首页业界网页平面多媒体程序数据库办公工具服务器系统网络安全站长认证壁纸
加入收藏 | 网站地图 | | RSS | WAP
你好,游客 登录 注册 搜索

将错误信息记录到Windows日志中

[日期:2005-12-23] 作者:佚名 来源:不详 [字体: ]
引言:

任何一个系统都不可能一劳永逸,一直没有错误的运行下去,一个优秀的系统的出错处理也一定是优秀的,而一个好的程序员也一定会很观注可能出错的地方,并作出相应的容错处理。C#中的try catch其实已经为我们省了不少事情,本文并不是并不是对如何做出错处理进行论述的,而是给出一种收集出错信息,并将出错信息存储到Windows日志中的方案。

一、处理代码:

using System;

using System.Diagnostics;

using System.Text;

using System.IO;



namespace Town.Log

{

/// <summary>

/// 功能:错误日志类,将错误信息按指定事件日志名记录在系统日志

/// </summary>

public class Error

{

/// <summary>

/// 记录日志

/// </summary>

/// <param name="sourceName">日志资源名,如:Town</param>

/// <param name="message">错误信息</param>

public static void Log(string sourceName, string message)

{

EventLog eventLog = null;



// 确定日志是否存在

if (!(EventLog.SourceExists(sourceName)))

{

EventLog.CreateEventSource(sourceName, sourceName + "Log");

}



if (eventLog == null)

{

eventLog = new EventLog(sourceName + "Log");

eventLog.Source = sourceName;

}



// 记录日志信息

eventLog.WriteEntry(message, System.Diagnostics.EventLogEntryType.Error);

}

}

}



设置:因为系统日志的操作是有权限控制的,所以我们还要把对系统日志操作的权限赋给ASP.net用户,方法如下:“开始->运行”,输入命令,“regedt32”,找到“System->CurrentControlSet->Services->Eventlog”,选择“安全->权限->添加”,然后找到本机的“AspNet”用户,加进来并且给读取权限就好了,加进来后目录中会多一个“aspnet_wp account”



二、调用方法

try

{

……

}

catch (Exception ex)

{

Error.Log("Town", ex.ToString());

return false;

}

三、一点说明

系统出错后,会自动将出错信息记录到系统日志中,你可以在“开始->程序->管理工具->事件查看器”中发现一个新的项目“TownLog”,这便是记录出错信息的,如下图所示。

关键词:错误 

收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事/刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款