Подтвердить что ты не робот

Rails: ведение журнала для кода в каталоге lib?

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

4b9b3361

Ответ 1

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

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

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

    require 'mylibrary'
    MyLibrary.logger = Rails.logger
    

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

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

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

Ответ 2

Мы можем использовать 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..."