Interessant

Die gebruik van die Logger-biblioteek - Hoe om logboodskappe in Ruby te skryf

Die gebruik van die Logger-biblioteek - Hoe om logboodskappe in Ruby te skryf

Die gebruik van die logger-biblioteek in Ruby is 'n maklike manier om op te hou wanneer iets verkeerd met u kode verkeerd geloop het. As iets verkeerd gaan, kan u ure spaar in die opspoor van die fout as u 'n gedetailleerde uiteensetting van presies wat gebeur het tot die fout, gevind het. Namate u programme groter en meer kompleks word, wil u miskien 'n manier voeg om logboodskappe te skryf. Ruby kom met 'n aantal nuttige klasse en biblioteke wat die standaardbiblioteek genoem word. Hieronder tel die logger-biblioteek, wat geprioritiseerde en geroteerde logboek verskaf.

Basiese gebruik

Aangesien die logger-biblioteek met Ruby is, hoef u geen juwele of ander biblioteke te installeer nie. Om die loggerbiblioteek te begin gebruik, benodig u eenvoudig 'logger' en skep u 'n nuwe Logger-objek. Enige boodskappe wat aan die Logger-voorwerp geskryf word, word na die loglêer geskryf.

#! / usr / bin / env ruby
benodig 'logger'
log = Logger.new ('log.txt')
log.debug "Log-lêer geskep"

Prioriteite

Elke logboodskap het 'n prioriteit. Hierdie prioriteite maak dit maklik om na ernstige boodskappe in loglêers te soek, en die logger-objek laat outomaties mindere boodskappe uitfilter as dit nie nodig is nie. U kan daaraan dink soos u taak om te doen vir die dag. Sommige dinge moet absoluut gedoen word, sommige dinge moet regtig gedoen word, en sommige dinge kan afgesit word totdat u tyd het om dit te doen.

In die vorige voorbeeld was die prioriteit debug, die minste belangrikste van al die prioriteite (die 'sit totdat jy tyd het' van jou taak om te doen, as jy wil). Die prioriteite van die logboodskap, van die minste tot die belangrikste, is soos volg: ontfout, inligting, waarskuwing, fout en dodelik. Gebruik die. Om die vlak van boodskappe wat die logger moet ignoreer, in te stel vlak kenmerk.

#! / usr / bin / env ruby
benodig 'logger'
log = Logger.new ('log.txt')
log.level = Logger :: WAARSKUWING
log.debug "Dit sal geïgnoreer word"
log.error "Dit sal nie geïgnoreer word nie"

U kan soveel logboodskappe skep as wat u wil, en u kan elke klein dingetjie wat u program doen, aanteken, wat prioriteite uiters nuttig maak. As u u program bestuur, kan u die logger-vlak op iets soos waarskuwing of foute laat om die belangrike dinge te vang. As iets verkeerd loop, kan u die logger-vlak verlaag (in die bronkode of met 'n skakelaar vir die opdragreël) om meer inligting te bekom.

Rotasie

Die logger-biblioteek ondersteun ook log-rotasie. Die rotasie van die blok hou die logboeke te groot en help om deur ouer logboeke te soek. As die rotasie van die logboek geaktiveer is en die log 'n sekere grootte of 'n sekere ouderdom bereik, sal die logger-biblioteek die lêer hernoem en 'n vars log-lêer skep. Ouer loglêers kan ook opgestel word om na 'n sekere ouderdom te verwyder (of "val uit rotasie").

Om log-rotasie moontlik te maak, moet u 'maandeliks', 'weekliks' of 'daagliks' deurgee aan die Logger-konstruktor. Opsioneel kan u 'n maksimum lêergrootte en aantal lêers deurgee om aan die konstruktor te draai.

#! / usr / bin / env ruby
benodig 'logger'
log = Logger.new ('log.txt', 'daagliks')
log.debug "Sodra die log ten minste een word"
log.debug "dag oud, dit sal hernoem word en 'n"
log.debug "nuwe log.txt-lêer sal geskep word."