Utilizarea Bibliotecii Logger - Cum să scrii mesaje jurnal în Ruby

Folosirea bibliotecii de înregistrare în Ruby este o modalitate ușoară de a urmări momentul în care ceva a greșit codul dvs. Când ceva nu merge bine, dacă aveți un detaliu exact despre ceea ce s-a întâmplat duce la eroare vă poate economisi ore în localizarea erorii. Pe măsură ce programele dvs. devin mai mari și mai complexe, poate doriți să adăugați o modalitate de a scrie mesaje jurnal. Ruby vine cu o serie de clase și biblioteci utile numite biblioteca standard. Printre acestea se numără și biblioteca logger, care oferă logare prioritare și rotite.

Utilizare de bază

Din moment ce biblioteca de înregistrări vine cu Ruby, nu este necesară instalarea de pietre sau alte pietre. Pentru a începe să folosiți biblioteca de logger, trebuie doar să folosiți „logger” și să creați un obiect Logger nou. Orice mesaj scris pe obiectul Logger va fi scris în fișierul jurnal.

#! / usr / bin / env ruby
necesita 'logger'
log = Logger.new ('log.txt')
log.debug "Fișier jurnal creat"

priorităţi

Fiecare mesaj de jurnal are prioritate. Aceste priorități simplifică căutarea fișierelor de jurnal pentru mesaje serioase, precum și ca obiectul de înregistrare să filtreze automat mesajele mai mici atunci când acestea nu sunt necesare. Puteți să vă gândiți la un fel de listă de a face pentru zi. Unele lucruri trebuie făcute cu adevărat, unele lucruri ar trebui să fie făcute cu adevărat, iar unele lucruri pot fi anulate până când aveți timp să le faceți.

În exemplul precedent, prioritatea a fost depanare, cea mai puțin importantă dintre toate prioritățile („opriți până când aveți timp” din lista dvs. de a face, dacă veți dori). Prioritățile mesajului de jurnal, de la cel puțin la cel mai important, sunt următoarele: depanare, informație, avertizare, eroare și fatal. Pentru a seta nivelul de mesaje pe care ar trebui să îl ignoreze, folosiți butonul nivel atribut.

#! / usr / bin / env ruby
necesita 'logger'
log = Logger.new ('log.txt')
log.level = Logger :: WARN
log.debug "Acest lucru va fi ignorat"
log.error "Acest lucru nu va fi ignorat"

Puteți crea cât mai multe mesaje de jurnal doriți și puteți să jurnalizați orice lucru minuscul pe care îl face programul dvs., ceea ce face ca prioritățile să fie extrem de utile. Când executați programul, puteți lăsa nivelul de înregistrare pe ceva precum avertisment sau eroare pentru a prinde lucrurile importante. Apoi, când ceva nu merge bine, puteți scădea nivelul de înregistrare (fie în codul sursă, fie cu un comutator de linie de comandă) pentru a obține mai multe informații.

Rotație

Biblioteca de jurnal acceptă, de asemenea, rotirea jurnalului. Rotirea jurnalului împiedică jurnalele să devină prea mari și ajută la căutarea prin jurnalele mai vechi. Când rotirea jurnalului este activată și jurnalul ajunge fie la o anumită dimensiune, fie la o anumită vârstă, biblioteca de jurnal va redenumi acel fișier și va crea un fișier jurnal nou. Fișierele jurnal mai vechi pot fi, de asemenea, configurate pentru a fi șterse (sau „cădere din rotație”) după o anumită vârstă.

Pentru a activa rotirea jurnalului, treceți „lunar”, „săptămânal” sau „zilnic” la constructorul Logger. Opțional, puteți trece o dimensiune maximă a unui fișier și un număr de fișiere pentru a le păstra în rotație către constructor.

#! / usr / bin / env ruby
necesita 'logger'
log = Logger.new ('log.txt', 'zilnic')
log.debug "Odată ce jurnalul devine cel puțin unul"
log.debug "vechi de zi, va fi redenumit și un"
log.debug "va fi creat noul fișier log.txt."