【问题标题】:Logging events from ASP.Net core identity with serilog使用 serilog 从 ASP.Net 核心身份记录事件
【发布时间】:2019-06-17 15:21:25
【问题描述】:

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

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

【问题讨论】:

    标签: c# asp.net-core asp.net-identity serilog


    【解决方案1】:

    我假设您使用的是 ASP.NET Core Identity 附带的默认 Identity UI。你是对的,这个 UI(默认)使用 Razor Pages,而 Razor Pages 不使用控制器。

    但是,您仍然可以将依赖项注入 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");
            // …
        }
    }
    

    当然,这意味着您现在必须对默认的 Identity UI 进行一些调整。

    【讨论】:

      猜你喜欢
      • 2019-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-20
      • 2021-05-28
      • 1970-01-01
      • 2019-03-24
      • 2021-06-11
      相关资源
      最近更新 更多