您的位置:首页 > 其它

ABP源码分析八:Logger集成

2016-03-21 19:44 253 查看
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实例(实现Castle的Ilogger接口)完成log操作。

LoggerExtensions: 扩展了Castle的Ilogger接口的方法,提供更加方便的方法供Loghelper调用。





在具体的web项目的application_start方法中注入logger实例。以下是注入log4net代码



返回ABP源码分析系列文章目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: