Leggere un file di log in tempo reale

Leggere un file di log in tempo reale

Vedere cosa accade nei file di log è fondamentale per risolvere i problemi del sistema e dei programmi. Il problema dei file di log è che di solito danno informazioni dopo che il problema è avvenuto, mentre spesso sarebbe utile poterli monitorare mentre il problema accade.

Per fortuna, grazie alla potenza della riga di comando, si può fare!

Il comando tail

Il comando tail permette di visualizzare le ultime righe di un file di testo. Normalmente si impartisce e questo fornisce in output le ultime 10 righe di un file. Grazie all'opzione -f è possibile fare in modo che tail continui a "seguire" il file e a visualizzarne il contenuto man mano che questo si popola.

Ad esempio se siete su un sistema Linux. provate a dare tail -f /var/log/kern.log, vedrete le ultime 10 righe del file di log della vostra workstation ma poi il prompt non ritorna perché tail sta ancora seguendo il file.

Provate a inserire o disinserire una chiavetta USB e vedrete visualizzato nel il log di tutto quello che sta succedendo.

Per interrompere il monitoraggio del file di lo basta usare Ctrl-c che interrompe l'esecuzione di tail.

Filtrare il log in real time

Grazie alla potenza della shell, è possibile concatenare tail -f con grep per filtrare e visualizzare solo gli eventi che ci interessano. Ad esempio:


$ tail -f /var/log/kern.log | grep usb

visualizza solo le righe che contengono la parola usb.

Currently there are no comments, so be the first!