5

在 rails 3.2.0 中,是否可以在生产环境中关闭 Rails 日志记录以在 ActionView:: LogSubscriber 中呈现视图。

目前我发现抑制的唯一方法是对其进行修补并提高日志级别以通过以下方式进行调试。有没有更好的方法来做到这一点或任何配置?

 module ActionView
    class LogSubscriber
       def render_template(event)
            message = "Rendered #{from_rails_root(event.payload[:identifier])}"
            message << " within #{from_rails_root(event.payload[:layout])}" if event.payload[:layout]
            message << (" (%.1fms)" % event.duration)
            debug(message)
       end
          alias :render_partial :render_template
          alias :render_collection :render_template
     end
  end
4

2 回答 2

23

ActionView 使用ActiveSupport::NotificationsActiveSupport::LogSubscriber来检测其事件,并将其从日志中静音就像在环境文件中包含以下内容一样简单:

%w{render_template render_partial render_collection}.each do |event|
  ActiveSupport::Notifications.unsubscribe "#{event}.action_view"
end

干杯!

于 2013-05-04T00:25:01.187 回答
1

您可以直接关闭 action_view 记录器。

Rails.application.configure do
  config.action_view.logger = nil
end
于 2020-05-19T14:29:40.700 回答