ConsoleLoggerOptions の古いプロパティ
Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat 型および ConsoleLoggerOptions のいくつかのプロパティは、互換性のために残されています。
変更内容
.NET 5 以降では、Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat 型および ConsoleLoggerOptions のいくつかのプロパティは、互換性のために残されています。 互換性のために残されているプロパティは、次のとおりです。
- ConsoleLoggerOptions.DisableColors
- ConsoleLoggerOptions.IncludeScopes
- ConsoleLoggerOptions.TimestampFormat
- ConsoleLoggerOptions.UseUtcTimestamp
- ConsoleLoggerOptions.Format
新しいフォーマッタの導入により、これらのプロパティを個々のフォーマッタで使用できるようになりました。
変更理由
Format プロパティは列挙型であり、カスタム フォーマッタを表すことはできません。
残りのプロパティは、ConsoleLoggerOptions に設定され、コンソール ログ用の組み込みの書式の両方に適用されていました。 ただし、新しいフォーマッタ API を導入することで、フォーマッタ固有のオプションでの書式設定がよりわかりやすくなります。 この変更により、ロガーとロガー フォーマッタの分離が改善されます。
導入されたバージョン
5.0
推奨アクション
ConsoleLoggerOptions.Format プロパティの代わりに、新しい ConsoleLoggerOptions.FormatterName プロパティを使用します。 次に例を示します。
loggingBuilder.AddConsole(options => { options.FormatterName = ConsoleFormatterNames.Systemd; });
FormatterName と Format にはいくつかの違いがあります。
- Format には、
Default
とSystemd
の 2 つのオプションがあるのみです。 - FormatterName では、大文字と小文字は区別されず、任意の文字列を指定できます。 予約された組み込みの名前は、
Simple
、Systemd
、Json
(.NET 5 以降) です。 "Format": "Systemd"
は"FormatterName": "Systemd"
にマップされます。"Format": "Default"
は"FormatterName": "Simple"
にマップされます。
- Format には、
DisableColors、IncludeScopes、TimestampFormat、UseUtcTimestamp の各プロパティについては、新しい ConsoleFormatterOptions 型、JsonConsoleFormatterOptions 型、または SimpleConsoleFormatterOptions 型の対応するプロパティを代わりに使用します。 たとえば、ConsoleLoggerOptions.DisableColors の対応する設定は SimpleConsoleFormatterOptions.ColorBehavior です。
以前のコード:
loggingBuilder.AddConsole(options => { options.DisableColors = true; });
新しいコード:
loggingBuilder.AddSimpleConsole(options => { options.ColorBehavior = LoggerColorBehavior.Disabled; });
次の 2 つの 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
- Microsoft.Extensions.Logging.Console.ConsoleLoggerOptions.DisableColors
- Microsoft.Extensions.Logging.Console.ConsoleLoggerOptions.IncludeScopes
- Microsoft.Extensions.Logging.Console.ConsoleLoggerOptions.TimestampFormat
- Microsoft.Extensions.Logging.Console.ConsoleLoggerOptions.UseUtcTimestamp
- Microsoft.Extensions.Logging.Console.ConsoleLoggerOptions.Format
.NET