ExceptionLess
之前也有介紹過這個框架,其實網上也有很多的資料,無論是部署還是一些詳細的高級玩法都講的很清楚也很棒,博主也學習了一些他們的博文,因為很多的東西比如本地部署別人已經寫了,我再去寫也不免俗套。所以這里介紹一些我在項目中玩法
有需要本地部署教程的同學可以看 這一篇博文 ,內容通俗易通,值得推薦
日志記錄
相信大家的項目中日志功能已經做為基礎設施里必不可少的一部分了,日志記錄可以更好的用戶習慣,還可以看到項目的健壯性。大多使用log4net,NLog。現在exceptionless成為了我們的新選擇!
其實exceptionless給我們准備好了相應的入口,方法也是已經准備好了。
使用下面這個方法可以輕松創建一個日志提交,而tags允許我們自定義多個標簽。除了Info還有多種級別比如 Debug、Warn、Error等等
/// <summary> /// 信息 /// </summary> public static void Info(string message, params string[] tags) { ExceptionlessClient.Default.CreateLog(message, LogLevel.Info).AddTags(tags).Submit(); }
現在在Login方法里嘗試着記一下日志
/// <summary> /// 轉到登陸頁面 /// </summary> /// <returns></returns> [HttpGet] public ActionResult Login() { ExceptionLessLog.Info("用戶登錄了", "我是標簽一", "我是標簽二"); return View(); }
可以看到現在已經同步了上來,初步的功能已經實現了
既然是基礎設施,在其它的每一個層我們可能都會用到,所以應該封裝一下,為什么要用接口呢?當然是以防半路換車了,飆車也要做好充足的准備才可以嘛,其實這里的參數不是很合理,因為其它的組件可能沒有tags這樣的參數,我們可以進行改造一下,替換成字典。不過博主公司的項目就沒有這個困擾了,留給大家去做吧
public class ExceptionLessLog :ILog { /// <summary> /// 跟蹤 /// </summary> public void Trace(string message, params string[] tags) { ExceptionlessClient.Default.CreateLog(message, LogLevel.Trace).AddTags(tags).Submit(); } /// <summary> /// 調試 /// </summary> public void Debug(string message, params string[] tags) { ExceptionlessClient.Default.CreateLog(message, LogLevel.Debug).AddTags(tags).Submit(); } /// <summary> /// 信息 /// </summary> public void Info(string message, params string[] tags) { ExceptionlessClient.Default.CreateLog(message, LogLevel.Info).AddTags(tags).Submit(); } /// <summary> /// 警告 /// </summary> public void Warn(string message, params string[] tags) { ExceptionlessClient.Default.CreateLog(message, LogLevel.Warn).AddTags(tags).Submit(); } /// <summary> /// 錯誤 /// </summary> public void Error(string message, params string[] tags) { ExceptionlessClient.Default.CreateLog(message, LogLevel.Error).AddTags(tags).Submit(); } }


