使用 serilog 记录来自 ASP.Net 核心标识的事件



也许有人已经回答了类似的问题,但我找不到它 - 如果是这样,我会很高兴链接到它。

我正在使用带有 ASP.Net 核心的 serilog 来记录各种事件,当涉及到我的服务时,它非常简单,我只是将记录器注入服务并在那里使用它,但我也想记录用户登录、用户注销、用户注册等事件,所有这些都使用 serilog 文件, 但我什至不知道如何制作它。Asp 标识使用剃刀页,并且没有用于登录的控制器。我发现用户管理器中有记录器 https://learn.microsoft.com/pl-pl/dotnet/api/microsoft.aspnetcore.identity.usermanager-1.logger?view=aspnetcore-2.2 但没有描述,可能不是这样。有人知道如何将serilog与 ASP.Net 核心身份一起使用吗?我无法为其配置它。

我假设您使用的是 ASP.NET 核心身份附带的默认身份UI。您是对的,此 UI(默认情况下(使用 Razor 页面,而 Razor 页面不使用控制器。

但是,您仍然可以将依赖项注入到 Razor 页面中,只需为 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");
        // …
    }
}

当然,这意味着您现在必须对默认的标识 UI 进行相当多的调整。

相关内容

  • 没有找到相关文章

最新更新