Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat tipo e algumas propriedades ConsoleLoggerOptions agora estão obsoletas.
Descrição da alteração
A partir do .NET 5, o Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat tipo e várias propriedades ConsoleLoggerOptions estão obsoletas. As propriedades obsoletas são:
- ConsoleLoggerOptions.DisableColors
- ConsoleLoggerOptions.IncludeScopes
- ConsoleLoggerOptions.TimestampFormat
- ConsoleLoggerOptions.UseUtcTimestamp
- ConsoleLoggerOptions.Format
Com a introdução de novos formatadores, essas propriedades agora estão disponíveis nos formatadores individuais.
Motivo da alteração
A Format propriedade é um tipo de enumeração, que não pode representar um formatador personalizado.
As propriedades restantes foram definidas em ConsoleLoggerOptions e aplicadas a ambos os formatos internos de logs de console. No entanto, com a introdução de uma nova API de formatador, faz mais sentido que a formatação seja representada nas opções específicas do formatador. Essa alteração proporciona uma melhor separação entre o registrador e os formatadores de registrador.
Versão introduzida
5,0
Ação recomendada
Use a nova propriedade ConsoleLoggerOptions.FormatterName no lugar da propriedade ConsoleLoggerOptions.Format. Por exemplo:
loggingBuilder.AddConsole(options => { options.FormatterName = ConsoleFormatterNames.Systemd; });Há várias diferenças entre FormatterName e Format:
-
Format tem apenas duas opções possíveis:
DefaulteSystemd. -
FormatterName não diferencia maiúsculas de minúsculas e pode ser qualquer cadeia de caracteres. Os nomes internos reservados são
Simple,SystemdeJson(.NET 5 e posterior). -
"Format": "Systemd"mapeia para"FormatterName": "Systemd". -
"Format": "Default"mapeia para"FormatterName": "Simple".
-
Format tem apenas duas opções possíveis:
Para as propriedades DisableColors, IncludeScopes, TimestampFormat e UseUtcTimestamp, use a correspondente propriedade nos novos tipos ConsoleFormatterOptions, JsonConsoleFormatterOptions ou SimpleConsoleFormatterOptions. Por exemplo, a configuração correspondente para ConsoleLoggerOptions.DisableColors é SimpleConsoleFormatterOptions.ColorBehavior.
Código anterior:
loggingBuilder.AddConsole(options => { options.DisableColors = true; });Novo código:
loggingBuilder.AddSimpleConsole(options => { options.ColorBehavior = LoggerColorBehavior.Disabled; });
Os dois snippets JSON a seguir mostram como o arquivo de configuração é alterado. Arquivo de configuração antigo:
{
"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": "*"
}
Novo arquivo de configuração:
{
"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": "*"
}
APIs afetadas
- 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