Каков наилучший / самый простой способ настройки ведения журнала для кода, хранящегося в каталоге lib?
Есть два способа сделать это:
Если ваша библиотека автономна и имеет модуль, вы можете добавить атрибут logger в свой модуль и использовать его повсюду в коде библиотеки.
logger
Затем вы используете либо инициализатор в config/initializers/, либо блок config.after_initialize в config/environment.rb для инициализации вашего регистратора, например:
config/initializers/
config.after_initialize
config/environment.rb
require 'mylibrary' MyLibrary.logger = Rails.logger
Это все еще позволит вам использовать вашу автономную библиотеку из скриптов вне Rails. Что приятно, иногда.
Если использование вашей библиотеки без Rails действительно вообще не имеет смысла, то вы также можете просто использовать Rails.logger напрямую.
Rails.logger
В любом случае вы имеете дело со стандартным Ruby Logger. Также имейте в виду, что теоретически логгер может быть nil.
nil
Мы можем использовать 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..."