.net-core - .Net Core ILogger 将关键保存为错误

标签 .net-core event-log ilogger

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

enter image description here

程序.cs

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

appsettings.json

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

Controller

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

最佳答案

How to log an Event log in the Critical level?
How to create CRITICAL events for Windows Event Viewer?

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

关于.net-core - .Net Core ILogger 将关键保存为错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66985980/

相关文章:

c# - 从 DNX 迁移到 ASP.NET Core 2.0 时 API 丢失/更改

c# - 使用单声道时出现 Serial.IO.Ports 问题,适用于 dotnet core 3.1/arm/raspberry pi 4

batch-file - 在 Windows Server 上备份事件日志的简单方法

c# - 记录 Windows 服务

Azure Function - ILogger 不记录日志?

c# - 最小 API - 如何在静态类中使用 ILogger

javascript - 如何在 .net 核心应用程序中使用 post 方法将 javascript 值传递给 Controller ​​?

linux - 在 MacOS 上构建需要 net461 的 dotnet SDK 项目的最简单方法

Powershell Write-EventLog/Get-WinEvent 消息问题

C# ILogger 不打印控制台输出