Каков наилучший/самый простой способ настройки ведения журнала для кода, хранящегося в каталоге lib?
Rails: ведение журнала для кода в каталоге lib?
Ответ 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..."