asp.net core源码飘香:Logging组件

时间:2024-03-21 17:33:56

简介:

作为基础组件,日志组件被其他组件和中间件所使用,它提供了一个统一的编程模型,即不需要知道日志最终记录到哪里去,只需要调用它即可。

使用方法很简单,通过依赖注入ILogFactory(CreateLogger方法)或ILogger<T>对象,获取一个ILogger对象,然后通过ILogger的各种扩展方法(都是调用Log方法)记录不同级别的日志。

源码剖析:

asp.net core源码飘香:Logging组件

asp.net core源码飘香:Logging组件

asp.net core源码飘香:Logging组件

asp.net core源码飘香:Logging组件

asp.net core源码飘香:Logging组件

asp.net core源码飘香:Logging组件

asp.net core源码飘香:Logging组件

asp.net core源码飘香:Logging组件

asp.net core源码飘香:Logging组件

asp.net core源码飘香:Logging组件

asp.net core源码飘香:Logging组件

asp.net core源码飘香:Logging组件

asp.net core源码飘香:Logging组件

总结:

日志组件其实就是工厂模式的应用,但进行了改进,LoggerFactory每次都返回一个Logger对象,而Logger对象里面包含了真正要干活的所有ILogger对象的集合,形成一个外观模式。

遵循却又不拘泥于设计模式,灵活多变的手法,值得学习!