簡介:
作為基礎組件,日志組件被其他組件和中間件所使用,它提供了一個統一的編程模型,即不需要知道日志最終記錄到哪里去,只需要調用它即可。
使用方法很簡單,通過依賴注入ILogFactory(CreateLogger方法)或ILogger<T>對象,獲取一個ILogger對象,然后通過ILogger的各種擴展方法(都是調用Log方法)記錄不同級別的日志。
源碼剖析:













總結:
日志組件其實就是工廠模式的應用,但進行了改進,LoggerFactory每次都返回一個Logger對象,而Logger對象里面包含了真正要干活的所有ILogger對象的集合,形成一個外觀模式。
遵循卻又不拘泥於設計模式,靈活多變的手法,值得學習!
