私はRubyとSinatraを初めて使用し、クロージャ内のロガーEM.run do .. end
オブジェクトにアクセスしようとしています( )。
これは、メッセージ「LOGGER ISNOTACCESSIBLEHERE」を含むロギングステートメントがコンパイルエラーを与える作業コードからの抜粋です。
class Connection
def get_updates
logger.info "LOGGER IS NOT ACCESSIBLE HERE 1"
end
end
class Streamer < Sinatra::Base
def stream
logger.info "Inside stream"
EM.run do
logger.info "LOGGER IS NOT ACCESSIBLE HERE 3"
Connection.new.get_updates
EM::PeriodicTimer.new(10) do
logger.info "LOGGER IS NOT ACCESSIBLE HERE 4"
end
end
end
end
get '/' do
logger.info "loading data"
Streamer.new.stream
end
私が見つけた文書から、 Sinatraはを使用していenv['rack.logger']
ます。上記のコードのConnectionやStreamerなどのSinatra以外のクラスで同じものをどのように使用できますか?