.net 創建屬於自己的log類


實習到現在已經接近三個月了,由於是校企聯合培養計划,所以沒有工資,所幸公司對於我們這些實習生並沒有什么要求,剛開始我還覺得要做點什么才能學得快,可是到了后來,發現公司安排給我們的任務並不緊要,也不算太難。

到現在大約接觸了2,3個模塊的設計和實現了,起初,在文件讀寫和記錄日志方面屢屢收到了批評,因外在大學的時候並沒有記錄日子的習慣,使得這個時候匆匆忙忙要養成在關鍵位置記錄日志的習慣變得有些困難,

起初我是使用了postsharp的第三方插件來記錄自己的運行日志的,可是后來發現在代碼移植方面,如果其他電腦沒有安裝postsharp會使得移植過程變得復雜,特別是在部署的時候增加復雜度。

現在在進行新的模塊的時候決定不再使用postsharp了,打算自己寫一個簡單的記錄日志的類,來記錄在關鍵位置的操作。

 

【改進版】

http://www.cnblogs.com/Bobdong/p/5032690.html

 

不廢話,直接出代碼,代碼比較簡單,實現的功能也非常簡單。

可以直接復制粘貼來使用,同時,我也提供了源碼給像我一樣的初學者下載。

 

 1 using System;
 2 using System.IO;
 3 
 4 namespace CustomerLog
 5 {
 6 
 7     /// <summary>
 8     /// 保存日志
 9     /// </summary>
10     public class Logging
11     {
12         #region 日志分類
13         /// <summary>
14         /// 保存普通日志
15         /// </summary>
16         /// <param name="message"></param>
17         public static void Writelog(string message)
18         {
19             string logContent = string.Format("[{0}] =>{1}", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), message);
20             SetFile(@"Log.txt", logContent);
21         }
22 
23         /// <summary>
24         /// 保存關鍵日志
25         /// </summary>
26         /// <param name="message"></param>
27         public static void WriteKeylog(string message)
28         {
29             var logContent = string.Format("[{0}]=>{1}", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), message);
30             SetFile(@"KeyLog.txt", logContent);
31         }
32 
33         /// <summary>
34         /// 保存錯誤信息日志
35         /// </summary>
36         /// <param name="ex"></param>
37         public static void WriteBuglog(Exception ex)
38         {
39             var logContent = string.Format("[{0}]錯誤發生在:{1},\r\n 內容:{2}",
40                 DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), ex.Source, ex.Message);
41             logContent += string.Format("\r\n [{0}] 跟蹤:{1}", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"),
42                 ex.StackTrace);
43             SetFile(@"BugLog.txt", logContent);
44         }
45         #endregion
46 
47         #region 通用操作
48         /// <summary>
49         /// 標准化寫入過程,繼承之后可自定義寫入內容
50         /// 默認保存在debug目錄的Log目錄下
51         /// </summary>
52         /// <param name="filename">文件名</param>
53         /// <param name="logContent">寫入內容</param>
54         protected static void SetFile(string filename, string logContent)
55         {
56             Isexist(); // 判斷Log目錄是否存在
57             string errLogFilePath = Environment.CurrentDirectory + @"\Log\" + filename.Trim();
58             StreamWriter sw;
59             if (!File.Exists(errLogFilePath))
60             {
61                 FileStream fs1 = new FileStream(errLogFilePath, FileMode.Create, FileAccess.Write);
62                 sw = new StreamWriter(fs1);
63             }
64             else
65             {
66                 sw = new StreamWriter(errLogFilePath, true);
67             }
68             sw.WriteLine(logContent);
69             sw.Flush();
70             sw.Close();
71         }
72 
73         // 判斷是否存在日志文件
74         private static void Isexist()
75         {
76             string path = Environment.CurrentDirectory + @"\Log\";
77             if (!File.Exists(path))
78             {
79                 Directory.CreateDirectory(path);
80             }
81         }
82         #endregion
83     }
84 }

 

 

                        ↓↓↓↓↓下載地址↓↓↓↓↓【目前只會用百度雲盤分享,求大神教授更加好用的分享方式】

               http://pan.baidu.com/s/1kTNcfdH


免責聲明!

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



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