L'uso della libreria del logger in Ruby è un modo semplice per tenere traccia di quando qualcosa è andato storto nel tuo codice. Quando qualcosa va storto, avere un resoconto dettagliato di quello che è successo all'errore può farti risparmiare ore nell'individuazione del bug. Man mano che i programmi diventano più grandi e complessi, è possibile che si desideri aggiungere un modo per scrivere i messaggi di registro. Ruby viene fornito con una serie di classi e librerie utili chiamate libreria standard. Tra questi c'è la libreria logger, che fornisce la registrazione prioritaria e ruotata.
Poiché la libreria del logger viene fornita con Ruby, non è necessario installare gemme o altre librerie. Per iniziare a utilizzare la libreria del logger, è sufficiente richiedere 'logger' e creare un nuovo oggetto Logger. Tutti i messaggi scritti sull'oggetto Logger verranno scritti nel file di registro.
#! / usr / bin / env ruby
richiede 'logger'
log = Logger.new ('log.txt')
log.debug "File di registro creato"
Ogni messaggio di registro ha una priorità. Queste priorità semplificano la ricerca di file gravi nei file di registro, oltre a consentire all'oggetto logger di filtrare automaticamente i messaggi minori quando non sono necessari. Puoi pensarlo un po 'come la tua lista di cose da fare per la giornata. Alcune cose devono assolutamente essere fatte, alcune cose dovrebbero davvero essere fatte e alcune cose possono essere rimandate fino a quando non si ha il tempo di farlo.
Nell'esempio precedente, la priorità era mettere a punto, la meno importante di tutte le priorità (il "rimandare fino a quando non hai tempo" della tua lista di cose da fare, se vuoi). Le priorità dei messaggi di registro, in ordine dal meno importante, sono le seguenti: debug, informazioni, avviso, errore e fatale. Per impostare il livello dei messaggi che il logger deve ignorare, utilizzare il livello attributo.
#! / usr / bin / env ruby
richiede 'logger'
log = Logger.new ('log.txt')
log.level = Logger :: WARN
log.debug "Questo verrà ignorato"
log.error "Questo non verrà ignorato"
Puoi creare tutti i messaggi di registro che desideri e puoi registrare ogni piccola cosa che il tuo programma fa, il che rende le priorità estremamente utili. Quando esegui il tuo programma, puoi lasciare il livello del logger su qualcosa come avvertire o errore per catturare le cose importanti. Quindi, quando qualcosa va storto, puoi abbassare il livello del logger (nel codice sorgente o con un'opzione da riga di comando) per ottenere maggiori informazioni.
La libreria del logger supporta anche la rotazione dei log. La rotazione dei registri evita che i registri diventino troppo grandi e aiuta a cercare nei registri più vecchi. Quando la rotazione del registro è abilitata e il registro raggiunge una certa dimensione o una certa età, la libreria del logger rinominerà quel file e creerà un nuovo file di registro. I file di registro più vecchi possono anche essere configurati per essere eliminati (o "fallire la rotazione") dopo una certa età.
Per abilitare la rotazione dei registri, passare "mensile", "settimanale" o "giornaliero" al costruttore Logger. Facoltativamente, è possibile passare una dimensione massima del file e il numero di file da mantenere in rotazione al costruttore.
#! / usr / bin / env ruby
richiede 'logger'
log = Logger.new ('log.txt', 'daily')
log.debug "Una volta che il registro diventa almeno uno"
log.debug "giorno precedente, verrà rinominato e un"
log.debug "verrà creato il nuovo file log.txt."