Използване на библиотеката на дърводобива: Как да запишете журнали в Ruby

Използване на библиотеката на дърводобива в рубин е лесен начин да следите кога нещо не е наред с вашия код. Когато нещо се обърка, наличието на подробна информация за това какво точно се е случило, което води до грешката, може да ви спести часове при намиране на грешката. Тъй като вашите програми стават все по-големи и сложни, може да искате да добавите начин за писане на журнални съобщения. Ruby идва с редица полезни класове и библиотеки, наречени стандартна библиотека. Сред тях е библиотеката на дърводобива, която осигурява приоритетна и завъртяна сеч.

Основна употреба

Тъй като библиотеката на дърводобива се предлага с Ruby, няма нужда да инсталирате скъпоценни камъни или други библиотеки. За да започнете да използвате библиотеката на дърводобива, просто изисква 'logger' и създайте нов обект на Logger. Всички съобщения, написани на обекта на Logger, ще бъдат записани в лог файла.

#! / usr / bin / env рубин
изискват „дърводобив“
log = Logger.new ('log.txt')
log.debug "Създаден файл с лог"
instagram viewer

Приоритети

Всяко съобщение в дневника има приоритет. Тези приоритети улесняват търсенето на логови файлове за сериозни съобщения, както и обектът на дърводобива автоматично да филтрира по-малки съобщения, когато не са необходими. Можете да го мислите като вашия списък с Do Do за деня. Някои неща абсолютно трябва да бъдат направени, някои неща наистина трябва да се свършат, а някои неща могат да бъдат отложени, докато имате време да ги направите.

В предишния пример приоритетът беше отстраняване на грешки, най-малко важният от всички приоритети („отложете, докато имате време“ от списъка си To Do, ако щете). Приоритетите на съобщението в дневника, за да бъдат най-малко до най-важните, са следните: отстраняване на грешки, информация, предупреждение, грешкаи фатално. За да зададете нивото на съобщенията, които дърводелецът трябва да игнорира, използвайте ниво атрибут.

#! / usr / bin / env рубин
изискват „дърводобив“
log = Logger.new ('log.txt')
log.level = Logger:: ВНИМАНИЕ
log.debug "Това ще бъде игнорирано"
log.error "Това няма да бъде игнорирано"

Можете да създадете колкото искате дневници и можете да регистрирате всяко малко нещо, което вашата програма прави, което прави приоритетите изключително полезни. Когато стартирате програмата си, можете да оставите нивото на регистратора на нещо като предупреждение или грешка, за да хванете важните неща. След това, когато нещо се обърка, можете да понижите нивото на регистратора (или в изходния код, или с превключвателя на командния ред), за да получите повече информация.

Завъртане

Библиотеката на дърводобива също поддържа въртене на дневника. Въртенето на регистрационния файл предотвратява прекалено големи дневници и помага при търсенето на по-стари журнали. Когато ротацията на дневника е активирана и логът достигне или определен размер, или определена възраст, библиотеката на дърводобива ще преименува този файл и ще създаде нов файл на журнала. По-старите лог файлове също могат да бъдат конфигурирани да бъдат изтрити (или „да паднат от въртене“) след определена възраст.

За да активирате въртенето на дневника, преминете „месечно“, „седмично“ или „ежедневно“ към конструктора на Logger. По желание можете да предадете на конструктора максимален размер и брой файлове, които да поддържате в завъртане.

#! / usr / bin / env рубин
изискват „дърводобив“
log = Logger.new ('log.txt', 'daily')
log.debug "След като дневникът стане поне един"
log.debug "стар ден, той ще бъде преименуван и"
log.debug "ще бъде създаден нов файл log.txt."