我正在尝试将异步请求记录到我的 sinatra 应用程序。我正在使用运行良好的 sinatra 同步,但我没有看到我的任何请求信息。这篇文章显示了一个解决方案,但我很抱歉新手自己无法让它工作!
应用程序.rb
require_relative 'logger' # middleware
class MyApp < Sinatra::Base
register Sinatra::Synchrony # async http requests up in this!
use Logger::Middleware
...
end
在机架上我得到:
/Users/nflacco/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/logger.rb:197:in `<top (required)>': Logger is not a class (TypeError)
我环顾四周,但没有看到关于将中间件与基于类的 sinatra 应用程序一起使用的快速答案。谢谢!
更新:我对 Rack:CommonLogger 进行了一些处理,并让它向服务器显示我的请求(即使使用 sinatra-synchrony),但没有任何内容被写入文件。嗯。
应用程序.rb
configure do
Dir.mkdir('log') unless File.exists?('log')
use Rack::CommonLogger, Logger.new('log/elphi-api.log')
end