2012-01-01 13 views
11

Mam klejnot, który napisałem i używam go wewnątrz aplikacji mojej szyny.Jak mogę napisać do Logger'a Railsa w moim klejnocie?

Chcę napisać do logistyki szyn z mojego klejnotu, ale oczywiście standardowy tam program szyny nie istnieje.

Jaki jest właściwy sposób osiągnięcia tego, co chcę zrobić?

+0

Co z 'Rails.logger.debug'? Lub 'Rails.logger.info', itp.? –

Odpowiedz

8

Chociaż powinieneś być w stanie używać Rails.logger, możesz rozważyć wykonanie rejestratora, którego gem używa do konfigurowania, tj. Pozwolić użytkownikom na ustawienie MyGem.logger na dowolny żądany rejestrator.

Możesz ustawić domyślną wartość na coś, co po prostu zapisuje się na standardowe wyjście, w aplikacji szyny możesz ustawić MyGem.logger = Rails.logger w inicjalizatorze. Ludzie, którzy używają klejnotów poza torami, mogą to zrobić.

15

Jak mówi Frederick Cheung, powinieneś użyć rejestratora z przypisanymi imionami dla swojego klejnotu: MyGem.logger.

Następnie ustaw go na Rails Logger w Railtie, aby Twój klejnot dobrze działał zarówno wewnątrz jak i na zewnątrz Rails.

module MyGem 
    class Railties < ::Rails::Railtie 
    initializer 'Rails logger' do 
     MyGem.logger = Rails.logger 
    end 
    end 
end 
+0

Tnx, było pomocne – gilsilas

Powiązane problemy