Používanie knižnice záznamníka v systéme Windows rubín je jednoduchý spôsob, ako sledovať, kedy sa váš kód pokazil. Ak sa niečo pokazí, podrobný popis toho, čo sa stalo, vedie k chybe, vám môže ušetriť hodiny na nájdenie chyby. Keďže sa vaše programy zväčšujú a komplikujú, možno budete chcieť pridať spôsob, ako písať denníky. Ruby prichádza s množstvom užitočných vyučovanie a knižnice nazývané štandardná knižnica. Medzi nimi je knižnica loggerov, ktorá poskytuje prioritné a rotované protokolovanie.
Základné použitie
Pretože knižnica loggerov sa dodáva s Ruby, nemusíte inštalovať žiadne drahokamy ani iné knižnice. Ak chcete začať používať knižnicu záznamníka, jednoducho vyžadovať 'logger' a vytvorte nový objekt Logger. Všetky správy zapísané do objektu Logger sa zapíšu do súboru denníka.
#! / usr / bin / env ruby
vyžadovať 'logger'
log = Logger.new ('log.txt')
log.debug "Vytvorený súbor denníka"
priority
Každá protokolová správa má prioritu. Tieto priority uľahčujú vyhľadávanie v protokolových súboroch, či neobsahujú vážne správy, a tiež umožňujú, aby objekt logger automaticky odfiltroval menšie správy, keď ich nepotrebujete. Môžete si to predstaviť ako svoj zoznam úloh pre daný deň. Niektoré veci sa musia bezpodmienečne urobiť, niektoré veci by sa naozaj mali urobiť a niektoré veci sa môžu odložiť, až kým na to nebudete mať čas.
V predchádzajúcom príklade bola priorita ladiť, najmenej dôležitá zo všetkých priorít („ak to chcete, odložte, kým nemáte čas“). Priority protokolových správ v poradí od najmenších po najdôležitejšie sú nasledujúce: ladenie, informácie, varovanie, chybaa fatálne. Na nastavenie úrovne správ, ktoré má logger ignorovať, použite hladina atribút.
#! / usr / bin / env ruby
vyžadovať 'logger'
log = Logger.new ('log.txt')
log.level = Logger:: WARN
log.debug "Toto bude ignorované"
log.error "Toto nebude ignorované"
Môžete vytvoriť ľubovoľný počet protokolových správ a môžete zaznamenať každú maličkosť, ktorú váš program robí, čo robí priority veľmi užitočnými. Pri spustení programu môžete nechať úroveň záznamníka na upozornení alebo chybe, aby ste zachytili dôležité veci. Potom, keď sa niečo pokazí, môžete znížiť úroveň záznamníka (buď v zdrojovom kóde alebo pomocou prepínača príkazového riadka), aby ste získali viac informácií.
otáčania
Knižnica záznamníka tiež podporuje rotáciu protokolu. Striedanie protokolov zabraňuje tomu, aby sa protokoly príliš zväčšovali, a pomáha pri hľadaní starších protokolov. Ak je rotácia protokolu povolená a denník dosiahne určitú veľkosť alebo určitý vek, knižnica záznamníka tento súbor premenuje a vytvorí nový súbor denníka. Staršie protokolové súbory možno tiež nakonfigurovať tak, aby sa po určitom veku odstránili (alebo „spadli z rotácie“).
Ak chcete povoliť rotáciu denníka, odovzdajte konštruktoru Logger „mesačne“, „týždenne“ alebo „denne“. Voliteľne môžete konštruktorovi odovzdať maximálnu veľkosť súboru a počet súborov, aby ste ich udržali v rotácii.
#! / usr / bin / env ruby
vyžadovať 'logger'
log = Logger.new ('log.txt', 'daily')
log.debug „Akonáhle sa protokol stane aspoň jedným“
log.debug „deň starý, bude premenovaný a“
log.debug "bude vytvorený nový súbor log.txt."