【发布时间】:2019-08-13 04:04:02
【问题描述】:
我是编程新手,我正在尝试为 .net 核心项目实施日志记录解决方案。
我想收集默认和 Microsoft 类别日志。
APPSETTING.JSON
{
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"System": "Warning",
"Microsoft": "Information"
},
"File": {
"location": "logs/timeapi.log"
}
},
"EnableSwagger": true
}
程序.CS
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseSerilogRequestLogging();
STARTUP.CS
app.UseSerilogRequestLogging(options =>
options.RequestProjection =
r => new { r.IsHttps, QueryString = r.QueryString.Value });
app.UseMvc();
https://github.com/mthamil/AspNetCore.Serilog.RequestLoggingMiddleware
我得到的错误是:
Unable to resolve service for type 'Serilog.ILogger' while attempting to activate 'AspNetCore.Serilog.RequestLoggingMiddleware.SerilogRequestMiddleware'.
【问题讨论】:
-
你错过了
.UseSerilog吗? -
@RubenBartelink 谢谢,添加后没有修复:(
-
抱歉,没注意 - 一般情况下,UseSerilog 会注册一个
Microsoft.Extensions.Logging.ILogger<T>- 很可能在不添加 UseSerilog 的情况下也能正常工作。不幸的是,我没有玩太多,所以无法在 aspnetcore 文章中提供 Serilog 入门的链接:( -
@RubenBartelink 这里的转折是它不是 Serilog.AspNetCore
UseSerilogRequestLogging()而是另一个我以前没见过的 impl
标签: c# asp.net-mvc .net-core serilog