1. 程式人生 > >c#——將錯誤日誌記錄在txt文本里

c#——將錯誤日誌記錄在txt文本里

   引言

   對於已經部署的系統一旦出錯對於我們開發人員來說是比較痛苦的事情,因為我們不能跟蹤到錯誤資訊,不能

很快的定位到我們的錯誤位置在哪,這時候如果能像開發環境一樣記錄一些堆疊資訊就可以了,這時候我們就需要將

錯誤資訊捕捉到然後輸出到一個我們可以看到的地方就可以了,這時候我們比較簡單的做法就是將一些錯誤資訊輸出

到txt文字中。下面就和大家分享一個記錄日誌的工具類。

  效果展示:

    

 類程式碼:

using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Web;

namespace GetLog
{
    public class WriteLog
    {
        private static StreamWriter streamWriter; //寫檔案  

        public static void WriteError(string message)
        {
            try
            {
                //DateTime dt = new DateTime();
                string directPath = ConfigurationManager.AppSettings["LogFilePath"].ToString().Trim();    //在獲得資料夾路徑
                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;
                }
            }
        }
    }
}

   配置檔案:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
  <appSettings>
    <!-- 系統日誌儲存路徑-->
    <add key="LogFilePath" value="D://ErrorLog" />

  </appSettings>
</configuration>

  呼叫程式碼:

static void Main(string[] args)
        {
            try
            {
                var i = 0;
                var j = 1 / i;
            }
            catch (Exception ex)
            {
                WriteLog.WriteError(ex.ToString());
                throw;
            }
        }

   小結

   上面就是我們一個簡單實用的錯誤日誌記錄類,在此分享給大家希望能給各位提供幫助!