Properti kedaluwarsa di ConsoleLoggerOptions
Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat Jenis dan beberapa properti di ConsoleLoggerOptions sekarang usang.
Deskripsi perubahan
Mulai dari .NET 5, Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat jenis dan beberapa properti di ConsoleLoggerOptions sudah usang. Properti usang adalah:
- ConsoleLoggerOptions.DisableColors
- ConsoleLoggerOptions.IncludeScopes
- ConsoleLoggerOptions.TimestampFormat
- ConsoleLoggerOptions.UseUtcTimestamp
- ConsoleLoggerOptions.Format
Dengan pengenalan formatter baru, properti ini sekarang tersedia pada formatter individual.
Alasan untuk berubah
Properti Format adalah jenis enumerasi, yang tidak dapat mewakili formatter kustom.
Properti yang tersisa diatur dan ConsoleLoggerOptions diterapkan ke kedua format bawaan untuk log konsol. Namun, dengan diperkenalkannya API formatter baru, lebih masuk akal untuk pemformatan diwakili pada opsi khusus formatter. Perubahan ini memberikan pemisahan yang lebih baik antara pencatat dan pemformat pencatat.
Versi yang diperkenalkan
5.0
Tindakan yang direkomendasikan
Gunakan properti baru ConsoleLoggerOptions.FormatterName sebagai ganti ConsoleLoggerOptions.Format properti . Misalnya:
loggingBuilder.AddConsole(options => { options.FormatterName = ConsoleFormatterNames.Systemd; });
Ada beberapa perbedaan antara FormatterName dan Format:
- Format hanya memiliki dua opsi yang mungkin:
Default
danSystemd
. - FormatterName tidak peka huruf besar/kecil dan dapat berupa string apa pun. Nama bawaan yang dicadangkan adalah
Simple
, ,Systemd
danJson
(.NET 5 dan yang lebih baru). "Format": "Systemd"
mematakan ke"FormatterName": "Systemd"
."Format": "Default"
mematakan ke"FormatterName": "Simple"
.
- Format hanya memiliki dua opsi yang mungkin:
DisableColorsUntuk properti , IncludeScopes, TimestampFormat, dan UseUtcTimestamp , gunakan properti yang sesuai pada jenis baru ConsoleFormatterOptions, JsonConsoleFormatterOptions, atau SimpleConsoleFormatterOptions sebagai gantinya. Misalnya, pengaturan yang sesuai untuk ConsoleLoggerOptions.DisableColors adalah SimpleConsoleFormatterOptions.ColorBehavior.
Kode sebelumnya:
loggingBuilder.AddConsole(options => { options.DisableColors = true; });
Kode baru:
loggingBuilder.AddSimpleConsole(options => { options.ColorBehavior = LoggerColorBehavior.Disabled; });
Dua cuplikan JSON berikut menunjukkan bagaimana file konfigurasi berubah. File konfigurasi lama:
{
"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": "*"
}
File konfigurasi baru:
{
"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 yang Terpengaruh
- 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