Uporaba knjižnice zapisovalnika v Ruby je enostaven način za spremljanje, kdaj je z vašo kodo nekaj šlo narobe. Če gre kaj narobe, vam lahko podroben opis natančno navedenega, kaj se je zgodilo, do napake, prihrani več ur pri iskanju napake. Ko se vaši programi povečujejo in bolj zapletajo, boste morda želeli dodati način za pisanje dnevnikov. Ruby prihaja s številnimi koristnimi razredov knjižnice pa se imenujejo standardna knjižnica. Med njimi je knjižnica zapisovalnikov, ki zagotavlja prednostno in rotacijsko beleženje.
Osnovna uporaba
Ker knjižnica zapisovalnika prihaja z Rubyjem, ni treba nameščati nobenih draguljev ali drugih knjižnic. Če želite začeti uporabljati knjižnico zapisovalnika, preprosto zahtevajo 'logger' in ustvarite nov objekt Logger. Vsa sporočila, zapisana v objekt Logger, bodo zapisana v datoteko dnevnika.
#! / usr / bin / env rubin
zahtevajo 'prijavo'
log = Logger.new ('log.txt')
log.debug "Dnevna datoteka ustvarjena"
Prednostne naloge
Vsako sporočilo dnevnika ima prednost. Te prednostne naloge olajšajo iskanje datotek dnevnika po resnih sporočilih in tudi, da objekt za zapisovalnik samodejno filtrira manjša sporočila, kadar ta niso potrebna. Lahko si omislite to, kot je vaš seznam opravkov za ta dan. Nekatere stvari je vsekakor treba storiti, nekatere je treba res narediti, nekatere pa lahko odložite, dokler jih nimate časa storiti.
V prejšnjem primeru je bila prednostna naloga odpravljanje napak, najmanj pomembna od vseh prednostnih nalog ("odložite, dokler ne boste imeli časa" na seznamu To Do, če želite). Prednostne naloge sporočil dnevnika, od najmanj do najpomembnejše, so naslednje: odpravljanje napak, informacije, opozorilo, napakain usodno. Če želite nastaviti raven sporočil, ki jih mora zapisovalnik prezreti, uporabite stopnjo atribut.
#! / usr / bin / env rubin
zahtevajo 'prijavo'
log = Logger.new ('log.txt')
log.level = Dnevnik:: OPOZORILO
log.debug "To bo prezrto"
log.error "To ne bo prezrto"
Ustvarite lahko toliko želenih sporočil in lahko zabeležite vsako malenkost, ki jo počne vaš program, zaradi česar so prioritete izjemno koristne. Ko zaženete program, lahko stopnjo zapisovalnika pustite na nečem, kot je opozorilo ali napaka, da ujamete pomembne stvari. Potem, ko gre kaj narobe, lahko znižate raven zapisovalnika (bodisi v izvorni kodi bodisi s stikalom ukazne vrstice), da dobite več informacij.
Rotacija
Knjižnica dnevnikov podpira tudi vrtenje dnevnika. Vrtenje dnevnika preprečuje, da bi dnevniki postali preveliki in pomaga pri iskanju starejših dnevnikov. Ko je omogočeno vrtenje dnevnika in dnevnik doseže določeno velikost ali določeno starost, bo knjižnica zapisovalnika to datoteko preimenovala in ustvarila novo datoteko dnevnika. Starejše datoteke dnevnika se lahko konfigurirajo tudi tako, da se po določeni starosti izbrišejo (ali "padejo iz zasuka").
Če želite omogočiti vrtenje dnevnika, prenesite „mesečno“, „tedensko“ ali „dnevno“ v konstruktor Logger. Neobvezno lahko konstruktorju prenesete največjo velikost in število datotek, ki jih boste še naprej vrteli.
#! / usr / bin / env rubin
zahtevajo 'prijavo'
log = Logger.new ('log.txt', 'dnevno')
log.debug "Ko dnevnik postane vsaj en"
log.debug "dan star, se bo preimenoval in"
log.debug "nova datoteka log.txt bo ustvarjena."