„Logger“ bibliotekos naudojimas: kaip rašyti žurnalus „Ruby“

click fraud protection

Registratoriaus bibliotekos naudojimas Rubinas yra lengvas būdas sekti, kai kažkas nepavyko dėl jūsų kodo. Kai kas nors nutinka, turėdami išsamią informaciją apie tai, kas atsitiko, sukėlę klaidą, galite sutaupyti valandų surasdami klaidą. Kadangi jūsų programos tampa didesnės ir sudėtingesnės, galbūt norėsite pridėti būdą, kaip rašyti žurnalo pranešimus. „Ruby“ yra daugybė naudingų klases ir bibliotekos, vadinamos standartine biblioteka. Tarp jų yra medienos ruošos biblioteka, teikianti prioritetinius ir pasuktus žurnalus.

Pagrindinis naudojimas

Kadangi kaupiklio biblioteka pateikiama kartu su „Ruby“, nereikia instaliuoti brangakmenių ar kitų bibliotekų. Norėdami pradėti naudotis registratoriaus biblioteka, paprasčiausiai reikalauti „Logger“ ir sukurkite naują „Logger“ objektą. Visi laiškai, įrašyti į „Logger“ objektą, bus įrašomi į žurnalo failą.

#! / usr / bin / env rubinas
reikalauti 'registratoriaus'
log = Logger.new ('log.txt')
log.debug "Sukurtas žurnalo failas"

Prioritetai

Kiekvienas žurnalo pranešimas turi prioritetą. Šie prioritetai leidžia lengvai ieškoti rimtų pranešimų žurnalų failų, taip pat leidžia, kad kaupiklio objektas automatiškai išfiltruotų mažesnius pranešimus, kai jų nereikia. Galite pagalvoti, kad tai yra jūsų dienos darbų sąrašas. Kai kuriuos dalykus būtinai reikia padaryti, kai kuriuos dalykus tikrai reikia padaryti, o kai kuriuos dalykus galima atidėlioti, kol turėsi laiko juos atlikti.

instagram viewer

Ankstesniame pavyzdyje prioritetas buvo derinimo, mažiausiai svarbus iš visų prioritetų (jei norite, jūsų „To Do“ sąrašo „atidėkite, kol turite laiko“). Žurnalo pranešimo prioritetai, nuo mažiausio iki svarbiausio, yra šie: suderinti, informuoti, perspėti, klaida, ir mirtina. Norėdami nustatyti pranešimų lygį, kurio žurnalistas turėtų nepaisyti, naudokite lygis atributas.

#! / usr / bin / env rubinas
reikalauti 'registratoriaus'
log = Logger.new ('log.txt')
log.level = Žurnalistas:: WARN
log.debug "Tai bus ignoruojama"
log.error "Tai nebus ignoruojama"

Galite sukurti tiek daug žurnalų pranešimų, kiek norite, ir galite prisijungti prie kiekvienos mažos smulkmenos, kurią daro jūsų programa, todėl prioritetai tampa ypač naudingi. Kai vykdote savo programą, galite palikti žurnalininko lygį kažkokiam įspėjimui ar klaidai, kad sugautumėte svarbius dalykus. Tada, kai kažkas negerai, galite sumažinti žurnale įrašymo lygį (arba šaltinio kode, arba naudodami komandinės eilutės jungiklį), kad gautumėte daugiau informacijos.

Rotacija

Logger biblioteka taip pat palaiko žurnalo pasukimą. Žurnalų pasukimas apsaugo žurnalus nuo per didelių ir padeda ieškoti senesnių žurnalų. Kai įgalinta žurnalo pasukimas ir žurnalas pasiekia tam tikrą dydį arba tam tikrą amžių, registratoriaus biblioteka pervardys tą failą ir sukurs naują žurnalo failą. Senesnius žurnalų failus taip pat galima sukonfigūruoti ištrinti (arba „iškristi iš rotacijos“) po tam tikro amžiaus.

Norėdami įjungti žurnalo pasukimą, perduokite „mėnesio“, „savaitės“ arba „kasdien“ „Logger“ konstruktoriui. Pasirinktinai galite perduoti maksimalų failo dydį ir failų skaičių konstruktoriui pasukti.

#! / usr / bin / env rubinas
reikalauti 'registratoriaus'
log = Logger.new („log.txt“, „kasdien“)
log.debug "Kai žurnalas taps bent vienu"
log.debug "dienos senumo, jis bus pervadintas ir"
log.debug "bus sukurtas naujas log.txt failas."
instagram story viewer