我正在使用ASP.NET Core 3.1,其中包括了serilog“ Serilog.AspNetCore” 3.2.0版的nuget。
配置为登录到以下文件:
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Information()
.WriteTo.File("C:\\ProgramData\\MySolution\\MyLog.txt",
rollOnFileSizeLimit: true,
fileSizeLimitBytes: 2000,
retainedFileCountLimit: 5)
.CreateLogger();
在我的代码中,我使用代码Log.Information("Starting up");
当我查看日志时,我得到了很多关于我真的不需要在日志中看到的请求的数据
示例:
2020-03-18 12:19:27.355 +05:30 [INF]内容根路径:C:\ R \ Path \ MyProject.Notification
2020-03-18 12:19:27.486 +05:30 [INF]请求启动HTTP / 2.0 GET https://localhost:44360/swagger/index.html
2020-03-18 12:19:27.707 +05:30 [INF]请求在227.3113ms中完成200 text / html; charset = utf-8
2020-03-18 12:19:27.909 +05:30 [INF]请求启动HTTP / 2.0 GET https://localhost:44360/swagger/v1/swagger.json
2020-03-18 12:19:28.064 +05:30 [INF]请求在154.5787ms中完成200 application / json; charset = utf-8
2020-03-18 12:19:41.221 +05:30 [INF]请求启动HTTP / 2.0 GET https://localhost:44360/Client/Index
2020-03-18 12:19:41.238 +05:30 [INF]授权成功。
我真的不需要所有这些日志,但是我只想记录我在控制器操作方法中使用Log.Information("log content")
指定的日志。
我该如何实现?
答案 0 :(得分:0)
如 Ruben 的链接所示,为 AspNetCore 添加覆盖如下:
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Override("Microsoft.AspNetCore", LogEventLevel.Warning)
这将抑制大量不需要的消息。