Condividi tramite


Formattazione predefinita del logger della console nelle immagini del contenitore

Il formattatore della console predefinito configurato nei contenitori aspnet è stato modificato.

Comportamento precedente

Nelle versioni di manutenzione precedenti di .NET 6, le immagini del contenitore aspnet erano configurate con la variabile di ambiente Logging__Console__FormatterName impostata su Json. L'output della console era formattato in modo analogo al seguente:

{"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}"}}

Nuovo comportamento

A partire da .NET 6.0.5, per impostazione predefinita le immagini del contenitore aspnet hanno la variabile di ambiente Logging__Console__FormatterName non settata. Ciò produce un output della console semplice, multilinea e leggibile simile al seguente:

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

Versione introdotta

.NET 6.0.5 (manutenzione di maggio 2022)

Tipo di modifica che causa un'interruzione

Questa modifica può influire sulla compatibilità dell'origine.

Motivo della modifica

Quando la modifica riguardante l'uso della formattazione JSON è stata introdotta nella versione GA di .NET 6, ha interrotto molti scenari basati sulla formattazione originale e semplice, come descritto in dotnet/dotnet-docker#2725.

Se vuoi continuare a usare la formattazione JSON, puoi configurare il contenitore per l’uso impostando il valore della variabile di ambiente Logging__Console__FormatterName su Json.

API interessate

Nessuno.

Vedi anche