Föråldrade egenskaper för ConsoleLoggerOptions
Typen Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat och vissa egenskaper på ConsoleLoggerOptions är nu föråldrade.
Ändra beskrivning
Från och med .NET 5 Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat är typen och flera egenskaper på ConsoleLoggerOptions föråldrade. De föråldrade egenskaperna är:
- ConsoleLoggerOptions.DisableColors
- ConsoleLoggerOptions.IncludeScopes
- ConsoleLoggerOptions.TimestampFormat
- ConsoleLoggerOptions.UseUtcTimestamp
- ConsoleLoggerOptions.Format
Med introduktionen av nya formaterare är dessa egenskaper nu tillgängliga för de enskilda formatrarna.
Orsak till ändringen
Egenskapen Format är en uppräkningstyp som inte kan representera en anpassad formateringstyp.
De återstående egenskaperna har angetts och tillämpats på ConsoleLoggerOptions båda de inbyggda formaten för konsolloggar. Men med introduktionen av ett nytt formaterings-API är det mer meningsfullt att formatering representeras på formateringsspecifika alternativ. Den här ändringen ger bättre separation mellan loggnings- och loggningsformatrarna.
Version introducerad
5,0
Rekommenderad åtgärd
Använd den nya ConsoleLoggerOptions.FormatterName egenskapen i stället för egenskapen ConsoleLoggerOptions.Format . Till exempel:
loggingBuilder.AddConsole(options => { options.FormatterName = ConsoleFormatterNames.Systemd; });
Det finns flera skillnader mellan FormatterName och Format:
- Format har bara två möjliga alternativ:
Default
ochSystemd
. - FormatterName är skiftlägesokänsligt och kan vara valfri sträng. De reserverade, inbyggda namnen är
Simple
,Systemd
ochJson
(.NET 5 och senare). "Format": "Systemd"
mappar till"FormatterName": "Systemd"
."Format": "Default"
mappar till"FormatterName": "Simple"
.
- Format har bara två möjliga alternativ:
DisableColorsFör egenskaperna , IncludeScopes, TimestampFormatoch UseUtcTimestamp använder du motsvarande egenskap för de nya ConsoleFormatterOptions, JsonConsoleFormatterOptionseller SimpleConsoleFormatterOptions typerna i stället. Motsvarande inställning för ConsoleLoggerOptions.DisableColors är SimpleConsoleFormatterOptions.ColorBehaviortill exempel .
Föregående kod:
loggingBuilder.AddConsole(options => { options.DisableColors = true; });
Ny kod:
loggingBuilder.AddSimpleConsole(options => { options.ColorBehavior = LoggerColorBehavior.Disabled; });
Följande två JSON-kodfragment visar hur konfigurationsfilen ändras. Gammal konfigurationsfil:
{
"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": "*"
}
Ny konfigurationsfil:
{
"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": "*"
}
Berörda API:er
- 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