『簡易日志』NuGet 日志包 SimpleLogger
獨立觀察員 2020 年 7 月 7 日
一、概述
目前,.NET 框架下,主流的日志組件大致就是 Nlog 和 Log4Net 了,功能比較強大,但總感覺太重了,學習他們的配置規則也是個門檻,當然還有這兩者的各種封裝變種,以及似乎在 .NET Core 中比較流行的微軟官方的 Microsoft.Extensions.Logging,具體沒怎么使用過,不好評價,(說到變種,本人曾經也改造過一個 log4net 的版本:https://gitee.com/dlgcy/YTLog ,感興趣的可以試試),
其實,對于個人專案或者較小的專案,我們實際只需要將日志內容寫入文本檔案即可,本人制作的這個 “簡易日志 (SimpleLogger)” 包里面包含的代碼邏輯,最開始也就是簡單地寫入文本,后來經過實際使用的演化,做了各種優化,添加了一些實用的特性,感覺用著還不錯,正所謂獨樂樂不如眾樂樂,于是將其打包上傳到微軟的包管理庫 NuGet 中,大家可以使用試試,相互交流,核心代碼已托管在碼云了:https://gitee.com/dlgcy/dotnetcodes/blob/dlgcy/DotNet.Utilities/ 日志 / LogHelper.cs ,
二、使用方法
1、配置(可選)
配置不是必須的,只有當對于目錄、前綴、單條最大長度、保留天數這幾項有定制需求時才需要呼叫 LogHelper.Config () 方法進行配置:

該方法應該在應用程式的啟動初期呼叫,且之后不再呼叫,建議在程式入口的靜態方法中呼叫,
2、使用
使用 “簡易日志 (SimpleLogger)” 記錄日志是很容易的,只需呼叫 LogHelper.Write () 方法即可:

可以看到最少只需傳遞一個日志內容引數即可,另外還支持是否空行,以及記錄呼叫方資訊,
如果之前程式中都是 Console.Write() 這樣的,您也無需批量替換,LogHelper 中附帶了將控制臺資訊重定向到日志的輔助類(ConsoleWriter)供您使用:

三、特色
總體來說,” 簡易日志 (SimpleLogger)” 擁有如下特色:
(1) 免配置使用;
(2) 便捷配置:指定路徑、前綴、單條最大長度、保留天數;
(3) 按日期分檔案、自動記錄時間和呼叫資訊、連續重復內容僅計數,
著重說一下 “連續重復內容僅計數” 特性,意思就是如果有連續的重復內容,則 “簡易日志 (SimpleLogger)” 不會直接輸出多條重復內容,僅輸出第一條,后續的內容只記錄時間和重復到第幾次,并且不換行,直到碰到下一條不同的內容為止,效果見下一節,
四、效果展示
不同程式配置到不同目錄:

日志檔案按照日期分開:

自動記錄時間和呼叫資訊:

清理指定天數之前的日志(需配置,默認不清理):

單條最大長度限制:

連續重復內容僅計數(156、157 行):

五、NuGet 包
https://www.nuget.org/packages/SimpleLogger_dlgcy/

支持 .NET Framework 和 .NET Standard(包括 .NET Core),NuGet 包管理器中直接搜索 “簡易日志” 即可安裝使用:

.NET Framework 專案安裝時如果提示源中找不到,可以編輯專案檔案,添加上
<PackageReference Include=”SimpleLogger_dlgcy” Version=”1.0.7″ />
祝大家使用愉快!
同步首發:
http://dlgcy.com/simple-logger/
微信訂閱號
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/3515.html
標籤:.NET Core
上一篇:C#:使用ajax異步請求實作檔案上傳與下載功能。---專案框架API+MVC
下一篇:abp一代資料遷決議
