ABP源碼分析八:Logger集成


ABP使用Castle日志記錄工具,並且可以使用不同的日志類庫,比如:Log4Net, NLog, Serilog... 等等。對於所有的日志類庫,Castle提供了一個通用的接口來實現,我們可以很方便的處理各種特殊的日志庫,而且當業務需要的時候,很容易替換日志組件。

Logger功能模塊涉及到的接口和類不多,相對容易理解。

 

LogSeverity 枚舉類型,定義了5個日志級別:Info,Debug,Warn,Error, Fatal.

 

IHasLogSeverity:封裝了LogSeverity。UserFriendlyException,AbpValidationException實現了這個接口。Loghelper在對exeption做log的時候可以方便的通過實現了IHasLogSeverity的exeption的實例獲取到logSeverity。然后根據logSeverity的級別log.

 

Loghelper: 靜態類。調用logger實例(實現CastleIlogger接口)完成log操作

 

LoggerExtensions: 擴展了CastleIlogger接口的方法,封裝更便捷的方法供Loghelper調用。

 

 

在具體的web項目的application_start方法中注入logger實例。以下是注入log4net代碼

 

返回ABP源碼分析系列文章目錄


免責聲明!

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



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