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调用。
![](http://images2015.cnblogs.com/blog/4776/201603/4776-20160319101113896-1607208878.png)
![](http://images2015.cnblogs.com/blog/4776/201603/4776-20160319101124662-1666770833.png)
在具体的web项目的application_start方法中注入logger实例。以下是注入log4net代码
![](http://images2015.cnblogs.com/blog/4776/201603/4776-20160319101134412-259262460.png)
返回ABP源码分析系列文章目录
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调用。
![](http://images2015.cnblogs.com/blog/4776/201603/4776-20160319101113896-1607208878.png)
![](http://images2015.cnblogs.com/blog/4776/201603/4776-20160319101124662-1666770833.png)
在具体的web项目的application_start方法中注入logger实例。以下是注入log4net代码
![](http://images2015.cnblogs.com/blog/4776/201603/4776-20160319101134412-259262460.png)
返回ABP源码分析系列文章目录
相关文章推荐
- 排序
- android studio 使用、开发小技巧
- UTF-8编码中的BOM问题
- RESTful API 设计指南
- 网易编程一题个人代码
- index of("") ==-1
- codevs 2645 Spore
- 总结……c++的输出格式
- 何为幂等可重试(安全操作)
- Biorhythms(一元线性同余方程组)
- 宽带连接批处理文件
- iOS中使用 Reachability 检测网络
- NSString转化为UTF8
- 如何在eclipse中安装subclipse
- 用百度地图进行搜索周边的建筑,医院,餐厅,学校等。
- 用百度地图进行搜索周边的建筑,医院,餐厅,学校等。
- 第九讲--buffer状态深入剖析
- iOS开发中的细节键盘的影藏的几种方式
- C Program to Implement a Doubly Linked List & provide Insertion, Deletion & Display Operations
- 动态规划