17.5. Mechanizmy rejestrowania zdarzeń w aplikacji

Problem

Chcemy zaimplementować w aplikacji mechanizm rejestrowania zdarzeń lub danych diagnostycznych w pliku lub strumieniu. W fazie projektowania aplikacji komunikaty diagnostyczne mają być obszerne, natomiast w fazie eksploatacji — skrótowe.

Rozwiązanie

Można skorzystać ze standardowej biblioteki języka Ruby — Z. Za pomocą zdefiniowanej w niej klasy Logger można przesyłać dane rejestracji zdarzeń do pliku lub innego strumienia wyjściowego.

W większości przypadków, na poziomie aplikacji wykorzystywany jest jeden współdzielony obiekt Logger jako zmienna globalna bądź stała modułu:

require 'logger'
$LOG = Logger.new($stderr)

Następnie można wywoływać metody instancyjne klasy Logger ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.