使用serilog关闭asp.net core 2.2中的mvc请求日志记录

我正在使用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 请求信息,如下所示:

(ca22a1cb)http://localhost:53534/api/values

2019-09-21T13:28:59.8309629+05:30 80000019-0004-ff00-b63f-84710c7967bb [INF] 请求在 202.16ms 200 内完成 (791a596a)

(ca22a1cb)http://localhost:53534/favicon.ico

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");


RISEBY
浏览 69回答 1
1回答

一只名叫tom的猫

将以下代码行添加到启动的构造函数中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();
打开App,查看更多内容
随时随地看视频慕课网APP