1. 程式人生 > >VS程式設計,C# 後臺儲存操作日誌的一種方法

VS程式設計,C# 後臺儲存操作日誌的一種方法

有時為了記錄邏輯執行的情況或者是響應前臺的操作情況,需要記錄相關的日誌資訊。

這裡提供了一種記錄日誌的方法,txt格式。

原作者的文章

 1、右擊程式集,建立一個日誌類(命名為:WriteLog)

2、在類中加入如下程式碼

  • 將類定義為public屬性
  public class WriteLoging
    {
        private static readonly object obj = new object();


        /// <summary>
        /// 操作日誌
        /// </summary>
        /// <param name="s">日誌能容</param>
        public  void WriteLog(string title, string content)
        {
            WriteLogs(title, content, "操作日誌");
        }


        /// <summary>
        /// 錯誤日誌
        /// </summary>
        /// <param name="s">日誌內容</param>
        public  void WriteError(string title, string content)
        {
            WriteLogs(title, content, "錯誤日誌");
        }



        public static void WriteLogs(string title, string content, string type)
        {
            lock (obj)
            {
                string path = AppDomain.CurrentDomain.BaseDirectory;
                if (!string.IsNullOrEmpty(path))
                {
                    path = AppDomain.CurrentDomain.BaseDirectory + "log";
                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }
                    path = path + "\\" + DateTime.Now.ToString("yyMM");
                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }
                    path = path + "\\" + DateTime.Now.ToString("dd") + ".txt";
                    if (!File.Exists(path))
                    {
                        FileStream fs = File.Create(path);
                        fs.Close();
                    }
                    if (File.Exists(path))
                    {
                        StreamWriter sw = new StreamWriter(path, true, System.Text.Encoding.Default);
                        sw.WriteLine(DateTime.Now + " " + title);
                        sw.WriteLine("日誌型別:" + type);
                        sw.WriteLine("詳情:" + content);
                        sw.WriteLine("----------------------------------------");
                        sw.Close();
                    }
                }
            }
        }
    }

 3、儲存,並重新生成。

 

4、在所要記錄日誌的地方,例項一個公共的日誌類,呼叫方法寫日誌

 

 5、在程式執行的目錄下,會有一個Log的資料夾,內部按照日期分別建立資料夾,並以txt格式儲存日誌