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
Gestire gli errori nelle Promise JavaScript con try()
Utilizzare @property per animare nativamente un oggetto HTML tramite CSS
Creare un agente A2Acon Azure Logic Apps
Gestione delle issue type con GitHub
Integrare modelli AI in un workflow di GitHub
Interagire con Azure DevOps tramite MCP Server
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot
Blazor e Static Web Assets in .NET 10
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Modificare lo stile in una QuickGrid Blazor




