ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 将错误信息记录到Windows日志中(转)

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

原创 Linux操作系统 作者:blogzone 时间:2007-08-10 18:29:04 0 删除 编辑
将错误信息记录到Windows日志中(转)[@more@]

  引言:

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

  

  一、处理代码:

  using System;

  

  using System.Diagnostics;

  

  using System.Text;

  

  using System.IO;

  

  namespace Town.Log

  

  {

  

   ///

  

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

  

   ///

  

   public class Error

  

   {

  

     ///

  

     /// 记录日志

  

     ///

  

     /// 日志资源名,如:Town

  

     /// 错误信息

  

     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”,这便是记录出错信息的,如下图所示。

  


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8403220/viewspace-942042/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    831
  • 访问量
    6391497