Formato predeterminado de registrador de consola en imágenes de contenedor

El formateador predeterminado de consola configurado en los contenedores aspnet ha cambiado.

Comportamiento anterior

En versiones de mantenimiento anteriores de .NET 6, las imágenes de contenedor aspnet se configuraron con la variable de entorno Logging__Console__FormatterName establecida en Json. Esto dio como resultado una salida de consola con formato similar al siguiente:

{"EventId":0,"LogLevel":"Information","Category":"Microsoft.Hosting.Lifetime","Message":"Now listening on: http://localhost:7000/","State":{"Message":"Now listening on: http://localhost:7000/","address":"http://localhost:7000/","{OriginalFormat}":"Now listening on: {address}"}}
{"EventId":0,"LogLevel":"Information","Category":"Microsoft.Hosting.Lifetime","Message":"Now listening on: http://localhost:7001/","State":{"Message":"Now listening on: http://localhost:7001/","address":"http://localhost:7001/","{OriginalFormat}":"Now listening on: {address}"}}
{"EventId":0,"LogLevel":"Information","Category":"Microsoft.Hosting.Lifetime","Message":"Now listening on: http://localhost:7002/","State":{"Message":"Now listening on: http://localhost:7002/","address":"http://localhost:7002/","{OriginalFormat}":"Now listening on: {address}"}}
{"EventId":0,"LogLevel":"Information","Category":"Microsoft.Hosting.Lifetime","Message":"Application started. Press Ctrl\u002BC to shut down.","State":{"Message":"Application started. Press Ctrl\u002BC to shut down.","{OriginalFormat}":"Application started. Press Ctrl\u002BC to shut down."}}
{"EventId":0,"LogLevel":"Information","Category":"Microsoft.Hosting.Lifetime","Message":"Hosting environment: Development","State":{"Message":"Hosting environment: Development","envName":"Development","{OriginalFormat}":"Hosting environment: {envName}"}}
{"EventId":0,"LogLevel":"Information","Category":"Microsoft.Hosting.Lifetime","Message":"Content root path: C:\\source\\temp\\web50","State":{"Message":"Content root path: C:\\source\\temp\\web50","contentRoot":"C:\\source\\temp\\web50","{OriginalFormat}":"Content root path: {contentRoot}"}}

Comportamiento nuevo

A partir de .NET 6.0.5, las imágenes de contenedor aspnet tienen la variable de entorno Logging__Console__FormatterName sin establecer de forma predeterminada. Esto da como resultado una salida de consola simple, multilínea y legible para humanos similar a la siguiente:

warn: Microsoft.AspNetCore.Server.HttpSys.MessagePump[37]
      Overriding address(es) ''. Binding to endpoints added to UrlPrefixes instead.
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:7000/
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:7001/
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:7002/
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: C:\source\temp\web50

Versión introducida

.NET 6.0.5 (mantenimiento de mayo de 2022)

Tipo de cambio importante

Este cambio puede afectar a la compatibilidad de orígenes.

Motivo del cambio

Cuando el cambio para usar el formato JSON se introdujo en la versión de disponibilidad general de .NET 6, rompió muchos escenarios que dependían del formato original y simple, tal como se describe en dotnet/dotnet-docker#2725.

Si desea seguir usando el formato JSON, puede configurar el contenedor para ello estableciendo el valor de la variable de entorno Logging__Console__FormatterName en Json.

API afectadas

Ninguno.

Consulte también