rack-cache
gem依赖于@env['rack.errors']
设置来记录错误消息:
78: # write log message to rack.errors
79: if verbose?
80: binding.pry
81: message = "cache: [%s %s] %s\n" %
82: [@request.request_method, @request.fullpath, trace]
=> 83: @env['rack.errors'].write(message)
84: end
目前设为@env['rack.errors'] #⇒ #<IO:<STDERR>>
。
我需要将其更改为使用Rails.logger
。明显的机会是入侵rack-cache
初始值设定项RAILS_CACHE.logger = ...
。我想知道是否有一种从rack
访问Rails
环境的常用方法,如(伪代码):
Rails.RACK_ENV['rack.errors'] = Rails.logger
答案 0 :(得分:0)
Rack环境只能在请求的上下文中访问,因此在控制器或视图中可以访问。
要访问环境,您可以使用
request.env['whatever']
修改Rack环境时要小心,因为Rails堆栈的其他部分可能依赖它。