1

在我的测试 POST 操作中,我将 4 个不同的日志(信息、警告、错误和严重)保存到 Windows EventLog 中。我可以在事件查看器中看到所有四个,但其中一个级别错误。它标记为“错误”,但应标记为“严重”

在此处输入图像描述

程序.cs

return Host.CreateDefaultBuilder(args)
                .ConfigureLogging(logger =>
                {
                    logger.ClearProviders();
                    logger.AddEventLog(new EventLogSettings
                    {
                        SourceName = "Website API",
                        LogName = "Website API"
                    });
                })...

应用设置.json

"Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    },
    "EventLog": {
      "LogLevel": {
        "Default": "Warning"
      }
    }
  }

控制器

public async Task<IActionResult> TestEndPoint()
        {
            _logger.LogInformation("LogInformation");
            _logger.LogWarning("LogWarning");
            _logger.LogError("LogError");
            _logger.LogCritical("LogCritical");
            return Ok(null);
        }

应用程序:REST API - .NET 5.0

4

1 回答 1

2

如何在严重级别记录事件日志?
如何为 Windows 事件查看器创建 CRITICAL 事件?

EventLog 中的关键日志级别是为系统/内核内容保留的。EventLog的critical和.Net Core的critical之间没有相同的映射,它只是映射为错误。不幸的是,它们具有相同的名称,但在这两种上下文中的含义不同,这可能会造成混淆。

于 2021-04-07T12:33:56.847 回答