<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      將出錯信息記錄到Windows日志中

      [摘要]引言:任何一個系統都不可能一勞永逸,一直沒有錯誤的運行下去,一個優秀的系統的出錯處理也一定是優秀的,而一個好的程序員也一定會很觀注可能出錯的地方,并作出相應的容錯處理。C#中的try catch其實...
      引言:

      任何一個系統都不可能一勞永逸,一直沒有錯誤的運行下去,一個優秀的系統的出錯處理也一定是優秀的,而一個好的程序員也一定會很觀注可能出錯的地方,并作出相應的容錯處理。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”,這便是記錄出錯信息的,如下圖所示。



      日韩精品一区二区三区高清