Запись событий из ядра ASP.Net с помощью serilog - PullRequest
2 голосов
/ 17 июня 2019

Возможно, кто-то уже ответил на похожий вопрос, но я не смог его найти - если так, то я был бы рад за ссылку на него.

Я использую serilog с ядром ASP.Net для регистрации различных событий, и когда дело доходит до моих служб, это довольно просто, я просто внедряю регистратор в службу и использую его там, но я также хотел бырегистрировать события, такие как вход пользователя в систему, выход пользователя из системы, регистрация пользователя и т. д., все это в файл с использованием serilog, но я даже не знаю, как это сделать.Asp удостоверение личности использует бритвенные страницы и нет контроллера для входа в систему. Я обнаружил, что в диспетчере пользователей есть регистратор https://docs.microsoft.com/pl-pl/dotnet/api/microsoft.aspnetcore.identity.usermanager-1.logger?view=aspnetcore-2.2, но для него нет описания, и это, вероятно, не так.Кто-нибудь знает, как использовать serilog с удостоверением ASP.Net Core?Я не могу настроить его для этого.

1 Ответ

1 голос
/ 17 июня 2019

Я предполагаю, что вы используете стандартный интерфейс Identity, который поставляется с ASP.NET Core Identity. Вы правы в том, что этот пользовательский интерфейс (по умолчанию) использует Razor Pages, а Razor Pages не используют контроллеры.

Однако вы все равно можете добавить зависимости в Razor Pages, просто добавив конструктор для PageModel:

public class ExamplePageModel : PageModel
{
    private readonly ILogger<ExamplePageModel> _logger;

    public ExamplePageModel(ILogger<ExamplePageModel> logger)
    {
        _logger = logger;
    }

    public async Task OnPostAsync()
    {
        _logger.LogInformation("Doing something");
        // …
    }
}

Конечно, это означает, что теперь вам придется немного изменить стандартный интерфейс Identity.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...