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 = ...。我想知道是否有一种从Rails访问rack环境的通用方法,比如(伪代码):
Rails.RACK_ENV['rack.errors'] = Rails.logger发布于 2015-07-08 20:55:25
Rack环境只能在请求的上下文中访问,因此在控制器或视图中。
要访问您可以使用的环境
request.env['whatever']修改Rack环境时要小心,因为Rails堆栈的其他部分可能会依赖它。
https://stackoverflow.com/questions/31292841
复制相似问题