我正在使用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]请求启动HTTP / 1.1 GET http://localhost:53534/api/values (ca22a1cb)
2019-09-21T13:28:59.8309629 + 05:30 80000019-0004-ff00-b63f-84710c7967bb [INF]请求在202.16ms 200(791a596a)中完成
2019-09-21T13:29:00.1500727 + 05:30 8000001a-0004-ff00-b63f-84710c7967bb [INF]请求启动HTTP / 1.1 GET http://localhost:53534/favicon.ico (ca22a1cb)
2019-09-21T13:29:00.2020227 + 05:30 8000001a-0004-ff00-b63f-84710c7967bb [INF]请求在73.5631ms 200(791a596a)中完成
我不记录这些。它应该只在我要登录时才登录,例如在我的控制器中
_logger.LogInformation("Hello Info");
_logger.LogError("Hello error");
答案 0 :(得分:2)
将以下代码行添加到启动程序的构造器中
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
您可以从应用设置中删除配置。