我是Ruby和Sinatra的新手,嘗試訪問logger關閉內部對象(EM.run do .. end
)。登錄關閉和非Sinatra類
這是工作代碼的摘錄,其中帶有消息「日誌不可訪問」的日誌語句給出編譯錯誤。
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
從document我發現西納特拉使用env['rack.logger']
。在上面的代碼中,我們如何在Connection和Streamer等非Sinatra類中使用它們?