Я нашел эту страницу , которая очень хорошо описывает процесс.
Этот блок кода содержит мои изменения:
::Logger.class_eval { alias :write :'<<' }
access_log = ::File.join(::File.dirname(::File.expand_path(__FILE__)),'log','access.log')
$access_logger = ::Logger.new(access_log)
$error_logger = ::File.new(::File.join(::File.dirname(::File.expand_path(__FILE__)),'log','error.log'),"a+")
$error_logger.sync = true
configure :development do
$access_logger.level = Logger::DEBUG
use ::Rack::CommonLogger, $access_logger
end
configure :production do
$access_logger.level = Logger::WARN
use ::Rack::CommonLogger, $access_logger
end
Я только что изменил уровень ведения журнала для разработчиков и производства. Я также превратил регистраторы в переменные, к которым я могу получить доступ из других частей моего кода.
Так что для моего основного модуля API я могу вывести содержимое переменных или что-нибудь еще с помощью этого:
$access_logger.debug "subscription_id is #{subscription_id}."
Отлично работает!