本篇內容介紹了“.net日志框架Serilog怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
首先安裝Nuget包:
Install-Package Serilog Install-Package Serilog.Sinks.Console
其中包Serilog是Log核心庫,Serilog.Sinks.Console是Log的控制臺輸出庫,這個也是日志框架的一貫策略,一個核心庫加多個輸出庫組合使用,這樣可以保持良好的擴展性。
簡單的示例:
using (var log = new LoggerConfiguration() .WriteTo.Console() .CreateLogger()) { log.Information("Hello, Serilog!"); log.Warning("Goodbye, Serilog."); }
輸出結果如下:
這里用了一個LoggerConfiguration對象,它主要用于創建和設置Log對象,類似于Nlog里面的LogManager類。這里主要用它兩個方法:
WriteTo:WriteTo屬性用來設置日志的輸出,Serilog將其稱為Sink(水槽),還是比較形象的。
CreateLogger:用于創建一個ILogger類型的Logger對象.
ILogger對象用于記錄日志,和其他日志框架差不多。Serilog日志級別分為如下5級
Verbose,
Debug,
Information,
Warning,
Error,
Fatal,
大多數的日志也是這樣5級,只是有的名稱叫的不同(NLog第1級叫Trace,其它的一致),每一級別對應一個寫Log的函數:
log.Verbose("verbose"); log.Information("info"); log.Debug("debug"); log.Warning("warning"); log.Error("err"); log.Fatal("fatal");
另外,ILogger對象還有一個Dispose方法,用于關閉日志對象。
在實際的使用過程中,往往并不是每次使用都去創建一個ILogger,一種方式是通過依賴注入的方式創建一個全局的Logger。不過這種方式需要引入DI框架。在小程序中使用不算方便。
另一種方式是直接使用靜態的Log類,它也攜帶了寫入日志的方法,用起來非常方便。
Log.Warning("warning"); Log.Error("err"); Log.Fatal("fatal");
不過Log類之前,首先必須給它關聯一個ILogger。
Log.Logger = new LoggerConfiguration() .WriteTo.Console() .CreateLogger();
Serilog的輸出對象稱之為Sink(水槽),github上提供了大量的第三方的可用sinks,這里簡單的列舉幾個常用的:
Console 輸出到控制臺
Debug 輸出到VS的Debug窗口
File 輸出到文件
Rolling File
MongoDB 輸出到MongoDB
LiteDB 輸出到文件數據庫LiteDB
SQLite 輸出到文件數據庫SQLite
SignalR 輸出為SignalR服務
HTTP 輸出到REST服務
Serilog的日志輸出通過LoggerConfiguration類配置,詳細的配置參數可以參看官方文檔:Configuration Basics。在日常使用中,感覺更多的是直接通過LoggerConfiguration在代碼中配置。
“.net日志框架Serilog怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。