I log sono un modo intelligente di comunicare con l'agent che esegue le nostre pipeline. Ci permettono infatti non solo di leggere ciò che succede a livello della pipeline stessa, per capire l'output dei task che stiamo eseguendo, ma consentono anche di interagire ed impartire ordini agli agent stessi. Il meccanismo di logging di Azure DevOps, infatti, è un po' complesso e oltre al classico messaggio di testo scritto tramite echo o Write-Host, possiamo impartire degli ordini nel formato seguente:
##vso[area.action property1=value;property2=value;...]message
Se vogliamo, ad esempio, cambiare solamente la formattazione come vedremo a breve, possiamo usare la sintassi semplificata:
##[command]message
Questo messaggio infatti verrà interpretato come una banale stringa in uno script di PowerShell/Bash eseguito localmente, mentre in Azure DevOps verrà interpretato per eseguire il comando specificato. Tra i comandi disponibili troviamo:
##[group]Beginning of a group ##<div class="warning">Warning message ##[error]Error message ##[section]Start of a section ##[debug]Debug text ##[command]Command-line being run ##[endgroup]
Il primo comando, [group] viene usato per creare una sezione collassabile e deve essere seguito dal tag [endgroup] per identificare la chiusura della sezione, mentre i più classici, ovvero warning ed error possono essere utilizzati per mostrare messaggi, appunto, di warning (scritti in giallo) oppure errori (scritti in rosso) nella pipeline.
Il risultato di questi comandi è visibile nello screenshot:
Come si può vedere facilmente, questi log con formattazione consentono una lettura molto più efficiente ed immediata di eventuali errori o note che poi, ad esempio, vengono visualizzate anche nel summary della build stessa, rendendo l'esperienza di debugging molto più semplice.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Creare un webhook in Azure DevOps
Usare le collection expression per inizializzare una lista di oggetti in C#
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Limitare le richieste lato server con l'interactive routing di Blazor 8
Utilizzare le collection expression in C#
Gestione dei nomi con le regole @layer in CSS
Usare una container image come runner di GitHub Actions
Recuperare l'ultima versione di una release di GitHub
I più letti di oggi
- Gestione dei token negli input di testo con la Universal Windows Platform
- Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
- Diagnosticare i problemi di performance con MiniProfiler su ASP.NET Core MVC
- Creare documenti Word con salto di pagina e proprietà avanzate
- Inviare un'email da codice nelle Windows Store app
- What's new in Azure
- Gestire la configurazione di ASP.NET Core su più ambienti
- Reagire alle modifiche della configurazione di ASP.NET Core
- Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
- Monitorare i server on-premises con Azure Arc