Rails: ведение журнала для кода в каталоге lib? - PullRequest
36 голосов
/ 05 июня 2010

Каков наилучший / самый простой способ настройки ведения журнала для кода, хранящегося в каталоге lib?

Ответы [ 2 ]

39 голосов
/ 05 июня 2010

Есть два способа сделать это:

  • Если ваша библиотека автономна и имеет модуль, вы можете добавить атрибут logger в свой модуль и использовать его повсюду в коде библиотеки.

    Затем вы используете либо инициализатор в config/initializers/, либо блок config.after_initialize в config/environment.rb для инициализации вашего регистратора, например:

    require 'mylibrary'
    MyLibrary.logger = Rails.logger
    

    Это все еще позволит вам использовать вашу автономную библиотеку из скриптов вне Rails. Что приятно, иногда.

  • Если использование вашей библиотеки без Rails действительно вообще не имеет смысла, то вы также можете просто использовать Rails.logger напрямую.

В любом случае вы имеете дело со стандартным Ruby Logger. Также имейте в виду, что теоретически логгер может быть nil.

18 голосов
/ 04 октября 2012

Мы можем использовать Rails logger непосредственно в lib, см. Следующий фрагмент.

require 'logger'

Rails.logger.info "Hay..!!! Im in lib"
Rails.logger.debug "Debugging this object from Lib #{object.inspect}"
Rails.logger.error "This is an error..."
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...