ConsoleLoggerOptions 上已过时的属性

现在,该 Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat 类型和某些属性 ConsoleLoggerOptions 已过时。

更改描述

从 .NET 5 开始,该 Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat 类型和多个属性 ConsoleLoggerOptions 已过时。 过时的属性包括:

随着新的格式化程序的引入,这些属性现在可用于各个格式化程序。

更改原因

Format 属性是一个枚举类型,不能表示自定义格式化程序。

其余属性已在ConsoleLoggerOptions上设置,并应用于控制台日志的两种内置格式。 但是,由于引入了新的格式化程序 API,在特定于格式化程序的选项上表示格式更加有意义。 此更改提供了更好的日志记录器和日志格式化器之间的分隔。

已引入的版本

5.0

以下两个 JSON 代码片段显示了配置文件的更改方式。 旧配置文件:

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

    "Console": {
      "LogLevel": {
        "Default": "Information"
      },
      "Format": "Systemd",
      "IncludeScopes": true,
      "TimestampFormat": "HH:mm:ss",
      "UseUtcTimestamp": true
    }
  },
  "AllowedHosts": "*"
}

新配置文件:

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

    "Console": {
      "LogLevel": {
        "Default": "Information"
      },
      "FormatterName": "Systemd",
      "FormatterOptions": {
        "IncludeScopes": true,
        "TimestampFormat": "HH:mm:ss",
        "UseUtcTimestamp": true
      }
    }
  },
  "AllowedHosts": "*"
}

受影响的 API