中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#輕量級高性能日志組件EasyLogger

發布時間:2020-06-29 11:08:10 來源:網絡 閱讀:3175 作者:阿笨NET 欄目:編程語言

一、課程介紹

本次分享課程屬于《C#高級編程實戰技能開發寶典課程系列》中的第六部分,阿笨后續會計劃將實際項目中的一些比較實用的關于C#高級編程的技巧分享出來給大家進行學習,不斷的收集、整理和完善此系列課程!

一、本高級系列課程適合人群如下

1、有一定的NET開發基礎。

2、喜歡阿笨的干貨分享課程的童鞋們。

二、今天我們要解決的日志痛點問題描述

1)、你是否在為找到一款輕量級日志組件四處尋找而感到煩惱?

2)、你是否在為log4net、nlog繁瑣的配置文件而感到煩惱?

3)、你是否在尋找一款日志文件記錄的格式內容簡潔的日志組件而感到煩惱?

4)、你是否在尋找一款可以支持自定義按照功能模塊分類存儲日志文件的組件而感到煩惱?

如果您有遇到以上提及到的其中一點的話,那么恭喜你很幸運看到了阿笨的輕量級EasyLogger日志組件。

廢話不多說,直接上干貨,我們不生產干貨,我們只是干貨的搬運工。

二、涉及覆蓋的知識點

1、C#高效的線程安全隊列ConcurrentQueue實戰運用。

2、C# 線程的掛起與喚醒 (AutoResetEvent,ManualResetEvent)實戰運用。

3、C# 采用生產者消費者隊列模式將日志文件異步的落地在磁盤中。

4、C# EasyLogger實現自定義按照功能模塊分類存儲日志文件。(強烈推薦)

5、C# 微軟單元測試UnitTest項目應用程序運用。

6、C# 性能測試器PerformanceTestor運用。

三、實戰項目背景介紹

一、實戰背景介紹

在我們實際項目中大家一般的開源日志組件比如:Log4net、NLog等等,?在使用的時候所有功能模塊的日志記錄的信息都依賴同一個配置,特別是在項目中的定時任務作業計劃調度應用程序中 ,于是所有的作業日志信息都在記錄在一個文件中,有時候查找起來,極其不方便。

那么我們能不能按照功能分類記錄日志文件呢?雖然Log4net、NLog?可以通過?配置不同的logger,然后功能根據不同的LoggerName加載Ilog實例,是可以做到;但是實現起來繁瑣和復雜。所以我們必須自己來造這個新輪子來滿足適合工作中的實際項目需求。

二、EasyLogger特點介紹

1、簡單、容易上手,只需要引入一個DLL文件即可;無需繁瑣的配置文件。

2、支持多線程大并發同時寫入。

3、支持自定義按照功能模塊分類存儲日志文件。(強烈推薦)

4、支持將日志文件存儲在Elasticsearch全文搜索引擎中。(后續計劃中)

四、EasyLogger實現原理

一、核心實現原理講解

????我們將使用列隊將日志信息先緩存到內存,然后我們一直有個線程再從列隊中寫到磁盤上,這樣就可以高速高性能的寫日志了。

二、為什么說是超高性能日志組件?

????EasyLogger內部采用典型的生產者消費模式。我們就把速度慢的地方分離出來了,也就是說程序在把日志扔給列隊后,程序的日志部分就算完成了,后面操作磁盤耗時的部分程序是不需要關心的,由另一個線程操作將日志文件寫在硬盤中。

C#輕量級高性能日志組件EasyLogger

實現原理圖

五、源碼在線解讀和演示

C#輕量級高性能日志組件EasyLogger

項目截圖

六、在線源碼解讀和演示

【網易云課堂】:點擊在線觀看

【騰訊課堂】:點擊在線觀看

【微信公眾號】:跟著阿笨一起玩NET




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄂温| 利辛县| 宁强县| 灵山县| 自治县| 会东县| 开阳县| 天气| 渝北区| 塘沽区| 镇巴县| 灌南县| 藁城市| 陈巴尔虎旗| 当涂县| 武山县| 鄢陵县| 兴义市| 渭源县| 昌图县| 乡宁县| 渑池县| 赤峰市| 辽宁省| 河西区| 夏河县| 华坪县| 日照市| 响水县| 禄劝| 简阳市| 县级市| 莱州市| 平和县| 马公市| 赤壁市| 石狮市| 体育| 崇州市| 藁城市| 邹城市|