Quando sviluppiamo applicativi .NET Core abbiamo disposizione un'ottima infrastruttura di logging utilizzata da ASP.NET Core stesso, ma che possiamo sfruttare anche noi. Logging strutturato, categorie, filtri e livelli ci permettono di essere mirati e cercare immediatamente le informazioni delle quali abbiamo bisogno.
Quando carichiamo il nostro applicativo su Azure App Service, però, il logging che effettuiamo non è visibile. I provider predefiniti, come su console, non vengono catturati a meno che non installiamo Application Insights, direttamente sul progetto, o direttamente dal portale tramite estensioni.
In alternativa, il portale stesso mette a disposizione la cattura del logging su file o su storage e al tempo stesso di vedere lo streaming live dell'output. Per sfruttare tutto questo dobbiamo prima di tutto aggiungere un nuovo provider direttamente in Program.cs come nell'esempio seguente.
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureLogging(logging => logging.AddAzureWebAppDiagnostics()) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); });
L'extension method AddAzureWebAppDiagnostics è disponibile installando il pacchetto NuGet Microsoft.Extensions.Logging.AzureAppServices e non comporta alcun problema quando siamo in locale. Quando il nostro applicativo gira su Azure, invece, ci permette di accedere alla sezione App Service logs e abilitare il log con il rispettivo livello da mostrare.

Da questo momento il log verrà salvato su disco per un massimo di 12 ore, ma al tempo stesso potremo vedere visualizzato l'output andando nella sezione Log stream.

Ricordiamo che attraverso la sezione application settings e con le chiavi Logging:Default e relative categorie, possiamo anche decidere quale categorie mostrare e con quale livello, in modo da poter visualizzare nello streaming solo lo stretto necessario.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare l nesting nativo dei CSS
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Generare velocemente pagine CRUD in Blazor con QuickGrid
Creare una libreria CSS universale: i bottoni
Generare una User Delegation SAS in .NET per Azure Blob Storage
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Path addizionali per gli asset in ASP.NET Core MVC
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Gestire gli accessi con Token su Azure Container Registry
Recuperare l'ultima versione di una release di GitHub