Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat tipo y algunas propiedades de ConsoleLoggerOptions ahora están obsoletas.
Descripción del cambio
A partir de .NET 5, el Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat tipo y varias propiedades de ConsoleLoggerOptions están obsoletas. Las propiedades obsoletas son:
- ConsoleLoggerOptions.DisableColors
- ConsoleLoggerOptions.IncludeScopes
- ConsoleLoggerOptions.TimestampFormat
- ConsoleLoggerOptions.UseUtcTimestamp
- ConsoleLoggerOptions.Format
Con la introducción de nuevos formateadores, estas propiedades ahora están disponibles en los formateadores individuales.
Motivo del cambio
La Format propiedad es un tipo de enumeración, que no puede representar un formateador personalizado.
Las propiedades restantes se establecieron en ConsoleLoggerOptions y se aplicaron a ambos formatos predeterminados para los registros de consola. Sin embargo, con la introducción de una nueva API de formateador, tiene más sentido representar el formato en las opciones específicas del formateador. Este cambio proporciona una mejor separación entre los formateadores de registrador y el registrador.
Versión introducida
5.0
Acción recomendada
Utilice la propiedad ConsoleLoggerOptions.FormatterName nueva en lugar de la propiedad ConsoleLoggerOptions.Format. Por ejemplo:
loggingBuilder.AddConsole(options => { options.FormatterName = ConsoleFormatterNames.Systemd; });Hay varias diferencias entre FormatterName y Format:
-
Format solo tiene dos opciones posibles:
DefaultySystemd. -
FormatterName no distingue mayúsculas de minúsculas y puede ser cualquier cadena. Los nombres reservados y integrados son
Simple,SystemdyJson(.NET 5 y versiones posteriores). -
"Format": "Systemd"se asigna a"FormatterName": "Systemd". -
"Format": "Default"se asigna a"FormatterName": "Simple".
-
Format solo tiene dos opciones posibles:
Para las propiedades DisableColors, IncludeScopes, TimestampFormat y UseUtcTimestamp, utilice la propiedad correspondiente en los tipos nuevos ConsoleFormatterOptions, JsonConsoleFormatterOptions o SimpleConsoleFormatterOptions. Por ejemplo, la configuración correspondiente para ConsoleLoggerOptions.DisableColors es SimpleConsoleFormatterOptions.ColorBehavior.
Código anterior:
loggingBuilder.AddConsole(options => { options.DisableColors = true; });Nuevo código:
loggingBuilder.AddSimpleConsole(options => { options.ColorBehavior = LoggerColorBehavior.Disabled; });
Los dos fragmentos de código JSON siguientes muestran cómo cambia el archivo de configuración. Archivo de configuración anterior:
{
"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": "*"
}
Nuevo archivo de configuración:
{
"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": "*"
}
Las APIs afectadas
- 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