Serilog - MaximumLoggingLevel 信息显示日志中的每个请求 - 这正常吗?

Bea*_*ore 1 asp.net error-logging serilog

好的,我们在 Web 应用程序中使用 Serilog 并将其发布到 SEQ。(该网站是经典 ASP 和 .NET 的混合体,但我们只有 .NET 中的 Serilog 调用)

 // create the logger
        Log.Logger = new LoggerConfiguration()
          .MinimumLevel.ControlledBy(_levelSwitch)
          .WriteTo.Seq(seqIp)
          .CreateLogger();
Run Code Online (Sandbox Code Playgroud)

当我将 MaximumLoggingLevel 配置为“信息”、“调试”或“详细”时,每个GET 或 POST 都会被扔进日志中,数百个......

甚至无需调用 log.Information...、log.Debug... 或 log.Verbose。它只是将所有可能的信息扔给 SEQ。

以下是被放入 SEQ 中的一些信息。这只是“信息”,没有我明确调用来记录的内容......

这是正常功能吗?

(我现在将其设置为“警告”,因此这些多余的信息不会阻塞用户界面)

序列用户界面

mas*_*son 5

您似乎正在使用Serilog.Web.Classic NuGet 包。这会向您的站点添加一个 HTTP 模块,该模块将某些生命周期事件(包括对站点的每个请求)记录为信息级别。他们在其网站上有说明来更改它,以便这些事件不会记录在信息级别:

ApplicationLifecycleModule.RequestLoggingLevel = LogEventLevel.Debug;
Run Code Online (Sandbox Code Playgroud)

或者,如果您想完全禁用它们的日志记录:

ApplicationLifecycleModule.IsEnabled = false;
Run Code Online (Sandbox Code Playgroud)

或者您可以从应用程序中删除该 NuGet 包。