我正在使用 Serilog.Extensions.Logging.File
来记录文件。
这是我的 appsettings.json
文件:
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Information",
"System": "None",
"Microsoft": "None"
}
},
"LoggingFile": {
"IncludeScopes": false,
"pathFormat": "C:/logs/APILogs-{Date}.log",
"LogLevel": {
"Default": "Trace",
"System": "None",
"Microsoft": "None"
}
}
我的 Startup.cs 代码:
public void Configure(
IApplicationBuilder app,
IHostingEnvironment env,
IApiVersionDescriptionProvider provider,
ILoggerFactory loggerFactory)
{
// Removed other codes
loggerFactory.AddFile(Configuration.GetSection("LoggingFile"));
}
但它仍然记录 mvc 请求信息,如下所示:
2019-09-21T13:28:59.6337460+05:30 80000019-0004-ff00-b63f-84710c7967bb [INF] Request starting HTTP/1.1 GET http://localhost:53534/api/values (ca22a1cb)
2019-09-21T13:28:59.8309629+05:30 80000019-0004-ff00-b63f-84710c7967bb [INF] Request finished in 202.16ms 200 (791a596a)
2019-09-21T13:29:00.1500727+05:30 8000001a-0004-ff00-b63f-84710c7967bb [INF] Request starting HTTP/1.1 GET http://localhost:53534/favicon.ico (ca22a1cb)
2019-09-21T13:29:00.2020227+05:30 8000001a-0004-ff00-b63f-84710c7967bb [INF] Request finished in 73.5631ms 200 (791a596a)
我不想记录这些。它应该只在我想记录时记录,比如在我的 Controller 中
_logger.LogInformation("Hello Info");
_logger.LogError("Hello error");
最佳答案
在启动的构造函数中添加如下代码
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft", LogEventLevel.Error)
.MinimumLevel.Override("System", LogEventLevel.Error)
.Enrich.FromLogContext()
.WriteTo.RollingFile("C:/logs/APILogs-{Date}.log")
.CreateLogger();
然后在配置方法中,添加以下行。
loggerFactory.AddSerilog();
更多信息:Serilog
您可以从应用程序设置中删除配置。
关于c# - 使用serilog关闭asp.net core 2.2中的mvc请求日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58038428/