Pro*_*mer 1 c# serilog asp.net-core asp.net-core-webapi
我正在使用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"
}
}
Run Code Online (Sandbox Code Playgroud)
我的 Startup.cs 代码:
public void Configure(
IApplicationBuilder app,
IHostingEnvironment env,
IApiVersionDescriptionProvider provider,
ILoggerFactory loggerFactory)
{
// Removed other codes
loggerFactory.AddFile(Configuration.GetSection("LoggingFile"));
}
Run Code Online (Sandbox Code Playgroud)
但它仍然记录 mvc 请求信息,如下所示:
2019-09-21T13:28:59.6337460+05:30 80000019-0004-ff00-b63f-84710c7967bb [INF] 请求开始 HTTP/1.1 GET http://localhost:53534/api/values ()
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.
2019-09-21T13:29:00.2020227+05:30 8000001a-0004-ff00-b63f-84710c7967bb [INF] 请求在 73.5631ms 200 (791a596) 内完成
我不记录这些。它应该只在我想记录时记录,例如在我的控制器中
_logger.LogInformation("Hello Info");
_logger.LogError("Hello error");
Run Code Online (Sandbox Code Playgroud)
将以下代码行添加到启动的构造函数中
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();
Run Code Online (Sandbox Code Playgroud)
然后在配置方法中,添加以下行。
loggerFactory.AddSerilog();
Run Code Online (Sandbox Code Playgroud)
更多信息:Serilog
您可以从 appsettings 中删除配置。
| 归档时间: |
|
| 查看次数: |
2708 次 |
| 最近记录: |