Serilog-如何停止请求生命周期日志并仅启用自定义信息日志

时间:2020-03-18 08:17:35

标签: asp.net-core serilog serilog-exceptions

我正在使用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")指定的日志。

我该如何实现?

1 个答案:

答案 0 :(得分:0)

如 Ruben 的链接所示,为 AspNetCore 添加覆盖如下:

Log.Logger = new LoggerConfiguration()
            .MinimumLevel.Override("Microsoft.AspNetCore", LogEventLevel.Warning)

这将抑制大量不需要的消息。