簡介:
作為基礎元件, 日誌元件被其他元件和中介軟體所使用, 它提供了一個統一的程式設計模型, 即不需要知道日誌最終記錄到哪裡去, 只需要調用它即可。
使用方法很簡單, 通過依賴注入ILogFactory(CreateLogger方法)或ILogger物件, 獲取一個ILogger物件, 然後通過ILogger的各種擴展方法(都是調用Log方法)記錄不同級別的日誌。
源碼剖析:
總結:
日誌元件其實就是工廠模式的應用, 但進行了改進, LoggerFactory每次都返回一個Logger物件, 而Logger物件裡面包含了真正要幹活的所有ILogger物件的集合, 形成一個面板模式。
遵循卻又不拘泥於設計模式, 靈活多變的手法, 值得學習!