Log 靜態類介紹:
Public Static (Shared) Methods
![]() ![]() |
獲取異常的內部信息 |
![]() ![]() |
Overloaded. 將日志寫到數據庫中[需要配置LogConn項后方生效 ] |
![]() ![]() |
Overloaded. 將日志寫到外部txt[web.config中配置路徑,配置項為Logpath,默認路徑為 "Logs/" ] |
說明:
1:這個類很簡單,主要的使用方法只有:WriteLogToTxt。
2:WriteLogToDB這個方法(只是SysLogs的簡單封裝用法,內部用的較多,后續可能會屏蔽此方法,可以暫不介紹)。
3:GetExceptionMessage只是從Exception里獲取字符串,所以沒啥好說。
Log類的Demo代碼:
static void Main(string[] args) { ExeLog(); // ExeSysLog(); Console.Read(); } static void ExeLog() { AppConfig.Log.IsWriteLog = true; AppConfig.Log.LogPath = "自定義錯誤日志"; Log.WriteLogToTxt("這是錯誤信息"); Log.WriteLogToTxt("這是錯誤信息", LogType.Assert); Log.WriteLogToTxt("這是錯誤信息", LogType.Debug); Log.WriteLogToTxt("這是錯誤信息", LogType.Error); Log.WriteLogToTxt("這是錯誤信息", LogType.Info); Log.WriteLogToTxt("這是錯誤信息", LogType.Warn); Console.WriteLine("請查看Debug目錄"); }
運行后的目錄情況:
說明:
1:AppConfig類對應屬性都是可以配置在Web.Config或App.Config,示例代碼中直接用代碼配置了。
2:IsWriteLog要配置為True,才會寫文本(不配置默認拋異常,不寫日志)。
SysLogs 實例類:
Public Instance Properties
說明:
1:SysLogs該類主要用來寫數據庫日志用(Log類是寫文本)。
2:需要配置LogConn的數據庫鏈接,如果和默認在同一個數據庫,配置LogConn為Conn即可。
3:實例后用Insert方法即可。
SysLogs 類的Demo代碼:
static void ExeSysLog() { AppConfig.Log.LogConn = "txt path={0}txtdb";//演示只有用文本數據庫來演示了 AppConfig.Log.LogTableName = "MyLogs";//可以更改表名 using (SysLogs sl=new SysLogs())//往數據庫里寫一條錯誤日志 { sl.Message = "這是錯誤信息"; sl.PageUrl = “http://code.taobao.org/svn/cyqopen/trunk/CYQ.Data.GettingStarted/”; sl.UserName = "路過秋天"; sl.LogType = "Sys"; sl.Insert(); List<SysLogs> list = sl.Select<SysLogs>(); Console.WriteLine("現在的有:" + list.Count + "條數據"); } // Log.WriteLogToDB("呵呵", LogType.Error, "cyq");//和使用sysLogs一樣。 }
說明:
1:需要指定LogConn:數據庫對應的鏈接。
2:指定LogTableName:指定表名(不指定則默認表名為SysLogs)
3:如果默認沒有對應的表,會自動創建。
4:實例后就是普通ORM的增刪改查操作。
5:簡化的寫法是調用Log.WriteLogToDB。
總結:
經過不斷的優化各簡化后,最終對外的使用方法灰常的簡單。
項目的Demo示例源碼,用SVN checkout:http://code.taobao.org/svn/cyqopen/trunk/CYQ.Data.GettingStarted/
最后謝謝大伙的支持!