日志記錄不僅對于我們開發(fā)的應(yīng)用,還是對于ASP.NET Core框架功能都是一項非常重要的功能特性。我們知道ASP.NET Core使用的是一個極具擴展性的日志系統(tǒng),該系統(tǒng)由Logger、LoggerFactory和LoggerProvider這三個核心對象組成。我們可以通過簡單的配置實現(xiàn)對LoggerFactory的定制,以及對LoggerProvider添加。 [ 本文已經(jīng)同步到《ASP.NET Core框架揭秘》之中]

目錄
一、 配置LoggerFactory
二、以當前請求作為日志范圍
三、記錄異常日志

一、 配置LoggerFactory

我們在上面一節(jié)演示了一個展示ASP.NET Core默認注冊服務(wù)的實例,細心的讀者一定會看到顯示的列表中就包含了針對LoggerFactory的服務(wù)。如果這個默認的LoggerFactory服務(wù)不能滿足我們的需求,我們完全可以配置任何一個需要的LoggerFactory,針對LoggerFactory的設(shè)置可以直接調(diào)用WebHostBuilder的UseLoggerFactory方法來實現(xiàn)。

 1: public interface IWebHostBuilder
 2: {
 3:     IWebHostBuilder UseLoggerFactory(ILoggerFactory loggerFactory);
 4:     IWebHostBuilder ConfigureLogging(Action<ILoggerFactory> configureLogging);
 5:     ...
 6: }

不過針對日志的配置更多地還是體現(xiàn)在針對某種LoggerProvider的添加,而這可以通過調(diào)用WebHostBuilder的ConfigureLogging方法來完成。我們在上面演示的實例中就曾經(jīng)采用如下的方式將一個ConsoleLoggerProvider注冊到LoggerFactory之上,這樣我們可以直接在宿主應(yīng)用的擴展臺上看到記錄的日志信息。