Logger bibliotēkas izmantošana Rubīns ir vienkāršs veids, kā izsekot, kad ar jūsu kodu kaut kas nav noticis. Ja kaut kas noiet greizi, detalizēts pārskats par tieši to, kas notika, izraisot kļūdu, var ietaupīt stundas kļūdas atrašanā. Tā kā jūsu programmas kļūst lielākas un sarežģītākas, ieteicams pievienot veidu, kā rakstīt žurnāla ziņojumus. Rubīns nāk ar vairākiem noderīgiem klases un bibliotēkas, ko sauc par standarta bibliotēku. Starp tiem ir mežizstrādātāju bibliotēka, kas nodrošina prioritāru un pagrieztu reģistrēšanu.
Pamata lietojums
Tā kā malkas cirtēja bibliotēka nāk ar Ruby, dārgakmeņi vai citas bibliotēkas nav jāinstalē. Lai sāktu izmantot reģistrētāja bibliotēku, vienkārši prasīt 'logger' un izveidojiet jaunu Logger objektu. Visas ziņas, kas rakstītas objektam Logger, tiks ierakstītas žurnāla failā.
#! / usr / bin / env rubīns
pieprasīt 'mežizstrādātāju'
log = Logger.new ('log.txt')
log.debug "Izveidots žurnālfails"
Prioritātes
Katram žurnāla ziņojumam ir prioritāte. Šīs prioritātes ļauj vienkārši meklēt žurnālfailus nopietniem ziņojumiem, kā arī ļauj mežizstrādātāja objektam automātiski filtrēt mazākus ziņojumus, kad tie nav nepieciešami. Varat domāt, ka tas ir līdzīgs jūsu dienas sarakstam. Dažas lietas noteikti ir jādara, dažas lietas patiešām jāpadara, un dažas lietas var atlikt, kamēr jums nav laika to izdarīt.
Iepriekšējā piemērā prioritāte bija atkļūdot, kas ir vissvarīgākā no visām prioritātēm (ja vēlaties, saraksta “Darīt līdz brīdim, kad jums ir laiks”). Žurnāla ziņojumu prioritātes, sākot no vismazākās līdz vissvarīgākajai, ir šādas: atkļūdošana, informācija, brīdinājums, kļūda, un letāls. Lai iestatītu ziņojumu līmeni, kuru reģistrētājs ignorē, izmantojiet līmenis atribūts.
#! / usr / bin / env rubīns
pieprasīt 'mežizstrādātāju'
log = Logger.new ('log.txt')
log.level = Reģistrētājs:: BRĪDINĀJUMS
log.debug "Tas tiks ignorēts"
log.error "Tas netiks ignorēts"
Jūs varat izveidot tik daudz žurnāla ziņojumu, cik vēlaties, un jūs varat pieteikties ikvienā sīkumā, ko dara jūsu programma, un tas prioritātes padara ārkārtīgi noderīgas. Palaižot programmu, varat atstāt reģistrētāja līmeni kaut kā līdzīgam brīdinājumam vai kļūdai, lai noķertu svarīgu saturu. Pēc tam, kad kaut kas noiet greizi, jūs varat pazemināt reģistrētāja līmeni (vai nu avota kodā, vai ar komandrindas slēdzi), lai iegūtu vairāk informācijas.
Rotācija
Mežizstrādātāja bibliotēka atbalsta arī žurnāla pagriešanu. Žurnāla rotācija neļauj žurnāliem kļūt pārāk lieliem un palīdz meklēt vecākos žurnālos. Ja ir iespējota žurnāla pagriešana un žurnāls sasniedz noteiktu lielumu vai noteiktu vecumu, reģistrētāja bibliotēka pārdēvē šo failu un izveido jaunu žurnāla failu. Vecākus žurnālfailus var arī konfigurēt dzēšanai (vai “izkrišanai no rotācijas”) pēc noteikta vecuma.
Lai iespējotu žurnāla pagriešanu, nosūtiet “Logger” konstruktoram “mēnesi”, “katru nedēļu” vai “katru dienu”. Pēc izvēles jūs varat pārsūtīt konstruktoram maksimālo faila lielumu un failu skaitu, lai saglabātu rotāciju.
#! / usr / bin / env rubīns
pieprasīt 'mežizstrādātāju'
log = Logger.new ('log.txt', 'katru dienu')
log.debug "Kad žurnāls kļūst vismaz par vienu"
log.debug "dienu vecs, tas tiks pārdēvēts un"
log.debug "Tiks izveidots jauns log.txt fails."