C#添加錯誤日志信息


錯誤日志是軟件用來記錄運行時出錯信息的文本文件。編程人員和維護人員等可以利用錯誤日志對系統進行調試和維護。

系統日志

系統日志包含了由Windows系統組件記錄的事件。例如,在啟動期間裝入驅動程序或其他系統組件失敗被記錄到系統日志。要查看系統日志:
  1. 打開命令提示符。
  2. 在提示符下輸入eventvwr。這打開了Windows事件查看器。

應用程序日志

應用程序日志包含了由應用程序或程序記錄的事件。例如,數據庫程序可能在應用程序日志中記錄一個文件錯誤。要查看應用程序日志:
  1. 打開命令提示符。
  2. 在提示符下輸入eventvwr。這打開了Windows事件查看器。

解釋日志信息

在兩種日志中,每個事件按照日期和時間順序(首先是最近的)分行顯示,帶有下列信息:
  • 類型:事件類型,可以是信息、警告或錯誤。
  • 日期和時間:事件被寫入日志的日期和時間。
  • 源:引起該事件的操作。
  • 類別:事件的類別。缺省類別是無。
  • 事件:事件編號。
  • 用戶:事件發生時的用戶名。
  • 計算機:本地機器的名稱。
查看單個日志條目:
1 在系統或應用程序日志中,查找日志條目。
2 右鍵單擊條目。
在WindowsWindowsServer 2008 中,單擊事件以打開“事件屬性”窗口。
該窗口顯示事件的描述。選擇“詳細信息”選項卡可以查看將記錄寫入日志時解析的字節或字。
3 使用向上和向下箭頭鍵上下移動以查看日志事件。
4 要關閉窗口,請單擊確定以返回到系統日志或應用程序日志  

C#中自定義日志

為了方便清晰得看到程序中的錯誤和不足的地方,記錄錯誤日志是非常有必要的。

廢話不多說,直接上代碼,關鍵代碼都有注釋,不理解的可以留言提出.

private static StreamWriter streamWriter; //寫文件  
        //將錯誤信息寫入文件中
        public static void WriteError(string message)
        {
            try
            {
                //DateTime dt = new DateTime();
                string directPath = Environment.CurrentDirectory + "\\ErrorLog";    //在獲得文件夾路徑(根據你們自己的實際情況去寫錯誤日志文件夾路徑)
                if (!Directory.Exists(directPath))   //判斷文件夾是否存在,如果不存在則創建
                {
                    Directory.CreateDirectory(directPath);
                }
                directPath += string.Format(@"\{0}.log", DateTime.Now.ToString("yyyy-MM-dd"));
                if (streamWriter == null)
                {
                    streamWriter = !File.Exists(directPath) ? File.CreateText(directPath) : File.AppendText(directPath);    //判斷文件是否存在如果不存在則創建,如果存在則添加。
                }
                streamWriter.WriteLine("***********************************************************************");
                streamWriter.WriteLine(DateTime.Now.ToString("HH:mm:ss"));
                streamWriter.WriteLine("輸出信息:錯誤信息");
                if (message != null)
                {
                    streamWriter.WriteLine("異常信息:\r\n" + message);
                }
            }
            finally
            {
                if (streamWriter != null)
                {
                    streamWriter.Flush();
                    streamWriter.Dispose();
                    streamWriter = null;
                }
            }
        }

 

ok,今天的分享就到這里了,有疑問的歡迎留言!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM