在我的Rails应用制作模式中,我将错误日志级别设置为error
。
但我想为某些控制器设置一个动作(或路由)到级别access
,那么我怎么能意识到这一点呢?如果日志有过滤器?
答案 0 :(得分:0)
您可以使用around filter调整操作的日志记录级别,例如:
class MyBigFancyController < ApplicationController
around_action :adjust_logging_level_to_access, only: :show
def show
end
private
def adjust_logging_level_to_access
old_level = Rails.logger.level
Rails.logger.level = Logger::DEBUG
yield
Rails.logger.level = old_level
end
end
如果必须在许多控制器中执行此操作,请考虑将其移至ApplicationController。
请注意adjusting the Rails logging level at run time is not thread safe。如果您需要线程安全,则需要手动写入相关位置的日志。