Korzystanie z biblioteki rejestratorów: Jak zapisywać dzienniki w Rubim

Korzystanie z biblioteki rejestratora w Rubin to łatwy sposób na śledzenie, kiedy coś poszło nie tak z twoim kodem. Gdy coś pójdzie nie tak, posiadanie szczegółowego opisu tego, co się stało, co doprowadziło do błędu, może zaoszczędzić wiele godzin na zlokalizowaniu błędu. Gdy twoje programy stają się coraz większe i bardziej złożone, możesz chcieć dodać sposób pisania wiadomości dziennika. Ruby ma wiele przydatnych zajęcia i biblioteki nazywane biblioteką standardową. Wśród nich jest biblioteka logger, która zapewnia priorytetowe i rotowane rejestrowanie.

Podstawowe użycie

Ponieważ biblioteka programu rejestrującego jest dostarczana z Ruby, nie trzeba instalować żadnych klejnotów ani innych bibliotek. Aby rozpocząć korzystanie z biblioteki rejestratora, wystarczy wymagać „logger” i utwórz nowy obiekt Logger. Wszelkie wiadomości zapisane w obiekcie Logger zostaną zapisane w pliku dziennika.

#! / usr / bin / env ruby
wymagają „loggera”
log = Logger.new ('log.txt')
log.debug „Utworzono plik dziennika”
instagram viewer

Priorytety

Każdy komunikat dziennika ma priorytet. Te priorytety ułatwiają wyszukiwanie poważnych wiadomości w plikach dziennika, a także umożliwiają obiektowi rejestrującemu automatyczne odfiltrowywanie mniejszych wiadomości, gdy nie są one potrzebne. Możesz myśleć o tym jak o liście rzeczy do zrobienia na dany dzień. Niektóre rzeczy absolutnie muszą być zrobione, niektóre rzeczy naprawdę powinny zostać zrobione, a niektóre rzeczy można odłożyć na później, dopóki nie będziesz mieć czasu na ich wykonanie.

W poprzednim przykładzie priorytetem było odpluskwić, najmniej ważny ze wszystkich priorytetów („odłóż na czas” z listy rzeczy do zrobienia, jeśli chcesz). Priorytety wiadomości dziennika, w kolejności od najmniej do najważniejszych, są następujące: debugowanie, informacje, ostrzeżenie, błądi śmiertelne. Aby ustawić poziom komunikatów, które rejestrator powinien ignorować, użyj poziom atrybut.

#! / usr / bin / env ruby
wymagają „loggera”
log = Logger.new ('log.txt')
log.level = Logger:: WARN
log.debug „To zostanie zignorowane”
log.error „To nie zostanie zignorowane”

Możesz utworzyć tyle wiadomości w dzienniku, ile chcesz i możesz zarejestrować każdą najmniejszą rzecz, którą robi Twój program, co sprawia, że ​​priorytety są niezwykle przydatne. Podczas uruchamiania programu możesz pozostawić poziom rejestratora na coś takiego jak ostrzeżenie lub błąd, aby złapać ważne rzeczy. Następnie, gdy coś pójdzie nie tak, możesz obniżyć poziom programu rejestrującego (w kodzie źródłowym lub za pomocą przełącznika wiersza poleceń), aby uzyskać więcej informacji.

Obrót

Biblioteka rejestratora obsługuje także rotację dzienników. Rotacja dzienników zapobiega powiększaniu dzienników i pomaga w wyszukiwaniu starszych dzienników. Gdy rotacja dziennika jest włączona, a dziennik osiąga określony rozmiar lub określony wiek, biblioteka rejestratora zmieni nazwę tego pliku i utworzy nowy plik dziennika. Starsze pliki dziennika można również skonfigurować do usuwania (lub „wypadnięcia z obrotu”) po pewnym wieku.

Aby włączyć rotację logów, przekaż konstruktorowi Logger „miesięcznie”, „co tydzień” lub „codziennie”. Opcjonalnie możesz przekazać konstruktorowi maksymalny rozmiar pliku i liczbę plików, aby zachować rotację.

#! / usr / bin / env ruby
wymagają „loggera”
log = Logger.new („log.txt”, „codziennie”)
log.debug „Gdy dziennik stanie się co najmniej jednym”
log.debug „za dnia, zostanie zmieniona nazwa i„
log.debug "zostanie utworzony nowy plik log.txt."