ABP源碼分析八:Logger集成

ABP使用Castle日誌記錄工具,而且能夠使用不一樣的日誌類庫,好比:Log4Net, NLog, Serilog... 等等。對於全部的日誌類庫,Castle提供了一個通用的接口來實現,咱們能夠很方便的處理各類特殊的日誌庫,並且當業務須要的時候,很容易替換日誌組件。html

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

 

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

 

IHasLogSeverity:封裝了LogSeverity。UserFriendlyException,AbpValidationException實現了這個接口。Loghelper在對exeption作log的時候能夠方便的經過實現了IHasLogSeverity的exeption的實例獲取到logSeverity。而後根據logSeverity的級別log.工具

 

Loghelper: 靜態類。調用logger實例(實現CastleIlogger接口)完成log操做源碼分析

 

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

 

 

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

 

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

相關文章
相關標籤/搜索