繁体   English   中英

使用 serilog 从 ASP.Net 核心身份记录事件

[英]Logging events from ASP.Net core identity with serilog

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

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

我假设您使用的是 ASP.NET Core Identity 附带的默认标识 UI。 您是对的,此 UI(默认情况下)使用 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 UI 进行大量调整。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM