『簡易日志』NuGet 日志包 SimpleLogger


簡易日志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/

微信訂閱號

 


免責聲明!

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



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