Použití knihovny loggerů: Jak psát protokoly v Ruby

click fraud protection

Používání knihovny loggerů v Rubín je snadný způsob, jak sledovat, kdy se váš kód pokazil. Když se něco pokazí, podrobný popis toho, co se stalo, vede k chybě, vám může ušetřit hodiny při hledání chyby. S tím, jak se programy stávají větší a složitější, můžete přidat způsob, jak psát zprávy protokolu. Ruby přichází s řadou užitečných třídy a knihovny nazývané standardní knihovna. Mezi nimi je knihovna loggerů, která poskytuje prioritní a rotované protokolování.

Základní použití

Protože knihovna loggerů je dodávána s Ruby, není třeba instalovat žádné drahokamy ani jiné knihovny. Chcete-li začít používat knihovnu loggerů, jednoduše vyžadovat 'logger' a vytvořte nový objekt Logger. Všechny zprávy zapsané do objektu Logger budou zapsány do souboru protokolu.

#! / usr / bin / env ruby
vyžadovat 'logger'
log = Logger.new ('log.txt')
log.debug "Soubor protokolu vytvořen"

Priority

Každá zpráva protokolu má prioritu. Tyto priority usnadňují prohledávání souborů protokolu pro seriózní zprávy a také umožňují, aby objekt logger automaticky odfiltroval menší zprávy, pokud nejsou potřeba. Můžete si to představit jako svůj seznam úkolů pro daný den. Některé věci musí být absolutně provedeny, některé věci by se měly opravdu udělat a některé věci lze odložit, dokud na ně nemáte čas.

instagram viewer

V předchozím příkladu byla priorita ladit, nejméně důležitá ze všech priorit ("odložte, dokud nemáte čas" z vašeho seznamu úkolů, pokud budete chtít). Priority zpráv protokolu, v pořadí od nejméně důležitých, jsou následující: ladění, informace, varování, chybaa fatální. Chcete-li nastavit úroveň zpráv, které by měl logger ignorovat, použijte úroveň atribut.

#! / usr / bin / env ruby
vyžadovat 'logger'
log = Logger.new ('log.txt')
log.level = Logger:: WARN
log.debug "Toto bude ignorováno"
log.error "Toto nebude ignorováno"

Můžete si vytvořit tolik protokolů, kolik chcete, a můžete zaznamenat každou maličkost, kterou váš program dělá, což činí priority velmi užitečnými. Když spustíte program, můžete nechat úroveň loggeru na něčem, jako je varování nebo chyba, abyste zachytili důležité věci. Poté, když se něco pokazí, můžete snížit úroveň loggeru (buď ve zdrojovém kódu nebo pomocí přepínače příkazového řádku) a získat více informací.

Otáčení

Knihovna loggerů také podporuje rotaci protokolu. Střídání protokolů zabraňuje tomu, aby se protokoly staly příliš velkými, a pomáhá při prohledávání starších protokolů. Pokud je povolena rotace protokolu a protokol dosáhne buď určité velikosti nebo určitého věku, knihovna loggeru přejmenuje tento soubor a vytvoří nový soubor protokolu. Starší soubory protokolu lze také nakonfigurovat tak, aby byly po určitém věku odstraněny (nebo „vypadly z rotace“).

Chcete-li povolit rotaci protokolu, předejte konstruktoru Logger „měsíční“, „týdenní“ nebo „denní“. Volitelně můžete předat konstruktoru maximální velikost souboru a počet souborů, aby se udržel v rotaci.

#! / usr / bin / env ruby
vyžadovat 'logger'
log = Logger.new ('log.txt', 'daily')
log.debug "Jakmile se protokol stane alespoň jedním"
log.debug "den starý, bude přejmenován a"
log.debug "bude vytvořen nový soubor log.txt."
instagram story viewer