Каков путь журнала доступа для веб-приложения .net core (2.2), развернутого как служба Windows - PullRequest
0 голосов
/ 16 апреля 2019

Я развернул свое .net core(2.2) веб-приложение в качестве службы Windows и хочу проверить журнал доступа на то же самое.

Если какое-либо приложение публикуется в IIS server (Windows), тогда журнал доступа записывается по следующему пути.

Путь: C:\inetpub\logs\LogFiles\W3SVC1

Аналогичным образом, каким будет путь для журнала доступа для .net core(2.2) веб-приложения, работающего в качестве службы Windows.

Требуется ли какая-либо обработка внутри кода для записи журнала доступа?

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Kestrel в настоящее время не поддерживает формат W3C или параметры расширенного формата IIS при ведении журнала (вы можете отслеживать эту функцию здесь ), поэтому при запуске ASP.NET Core в качестве службы Windows вы ' ll (пока) нужно полагаться на использование одного из пакетов журналов (Console, EventSource и т. д.).

В качестве альтернативы, внешний инструмент ведения журнала, такой как Sentry, мог бы работать хорошо - очевидно, со многими из этих услуг связаны затраты. В настоящее время мы используем Sentry поверх Elmah, поскольку он имеет более широкую поддержку платформ, включая технологии, отличные от .NET, такие как JavaScript и т. Д.

0 голосов
/ 16 апреля 2019

По умолчанию ASP.NET Core входит в консоль.При работе в IIS выходные данные консоли будут перенаправлены в файл журнала, настроенный в web.config.

. На любой другой модели хостинга вам придется самостоятельно обрабатывать сохранение журнала с использованием сторонней инфраструктуры (предпочтительно такой, котораяинтегрируется в уровень абстракции журналирования ядер ASP.NET).

ASP.NET Core не поставляется с собственным файловым логгером.Однако при хостинге в Windows вы можете использовать регистратор «EventSource» (по умолчанию он регистрируется начиная с ASP.NET Core 2.2 при использовании WebHost.CreateDefaultBuilder(args) в

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>();

. здесь , для всего остального вам нужно использовать стороннюю библиотеку, например NLog и т. д.

Список сторонних библиотек журналов, поддерживающих абстракции журналирования .NET Core, включен в документы .

...