Теперь модифицируйте HomeController
AutoLot.Mvc. Добавьте в класс следующий оператор using:using AutoLot.Services.Logging;
Измените ILogger
IAppLogging:[Route("[controller]/[action]")]
public class HomeController : Controller
{
private readonly IAppLogging
public HomeController(IAppLogging
{
_logger = logger;
}
...
}
После этого регистрация в журнале выполняется в каждом контроллере простым обращением к средству ведения журнала, например:
// WeatherForecastController.cs (AutoLot.Api)
[HttpGet]
public IEnumerable
{
_logger.LogAppWarning("This is a test");
...
}
// HomeController.cs (AutoLot.Mvc)
[Route("/")]
[Route("/[controller]")]
[Route("/[controller]/[action]")]
[HttpGet]
public IActionResult Index()
{
_logger.LogAppWarning("This is a test");
return View();
}
Испытание инфраструктуры ведения журнала
Имея установленную инфраструктуру Serilog, самое время протестировать ведение журналов для приложений. Если вы используете Visual Studio, тогда укажите AutoLot.Mvc
AutoLot.Mvc и введите команду dotnet run.В Visual Studio автоматически запустится браузер с представлением Home/Index
https://localhost:5001. После загрузки вы можете закрыть браузер, поскольку обращение к средству ведения журнала произошло при загрузке домашней страницы. Закрытие браузера в случае использования Visual Studio останавливает отладку. Чтобы остановить отладку в VS Code, нажмите <Ctrl+C> в окне терминала.В каталоге проекта вы увидите файл по имени ErrorLogГГГMMДД.txt
[ГГ-ММ-ДД чч:мм:сс Warning]AutoLot.Mvc -
Dev:AutoLot.Mvc.Controllers.HomeController
Message:This is a test
in method Index at
D:\Projects\Books\csharp9-wf\Code\New\Chapter_29\AutoLot.Mvc\Controllers\
HomeController.cs:30
Для тестирования кода регистрации в журнале в проекте AutoLot.Api
AutoLot.Api в окне терминала (VS Code). Нажмите <F5> или введите dotnet run и перейдите по ссылке https://localhost:44375/swagger/index.html. В итоге загрузится страница Swagger для приложения API (рис. 29.6).Щелкните на кнопке GET
для записиWeatherForecast. В результате откроется экран с деталями для этого метода действия, включая возможность Try it out (Опробовать), как видно на рис. 29.7.После щелчка на кнопке Try it out
щелкните на кнопке Execute (Выполнить), которая обеспечивает обращение к конечной точке (рис. 29.8).В каталоге проекта AutoLot.Api
ErrorLogГГГГММДД.txt и найдете в нем примерно такую запись:[ГГ-ММ-ДД чч:мм:сс Warning]AutoLot.Api -
Dev:AutoLot.Api.Controllers.
WeatherForecastController
Message:This is a test
in method Get at
D:\Projects\Books\csharp9-wf\Code\New\Chapter_29\AutoLot.Api\Controllers\
WeatherForecastController.cs:30
На заметку!
Нововведением в версии ASP.NET Core 5 является то, что Swagger по умолчанию включается в шаблон API. Инструменты Swagger будут подробно исследованы в следующей главе.Резюме
В главе была представлена инфраструктура ASP.NET Core. Глава начиналась с краткого обзора истории появления ASP.NET, после чего были рассмотрены функциональные средства из классических инфраструктур ASP.NET MVC и ASP.NET Web API, которые присутствуют в ASP.NET Core.