也许有人已经回答了类似的问题,但我找不到它 - 如果是这样,我会很高兴链接到它。
我正在使用带有 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 进行相当多的调整。