加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何将对rails控制器操作的调用静音

发布时间:2020-12-17 03:50:56 所属栏目:百科 来源:网络整理
导读:我已经想出了如何通过在actionger的方法中将所有内容包装在logger.silence块中来使行为的内容静音. 但是,我仍然可以调用日志文件中显示的操作. 即: Processing DashboardController#update (for 66.201.17.166 at 2009-09-09 19:03:27) [GET] Parameters: {
我已经想出了如何通过在actionger的方法中将所有内容包装在logger.silence块中来使行为的内容静音.

但是,我仍然可以调用日志文件中显示的操作.

即:

Processing DashboardController#update (for 66.201.17.166 at 2009-09-09 19:03:27) [GET]
  Parameters: {"todos"=>{"user"=>"25","sfu_type"=>""}}
Completed in 1021ms (View: 439,DB: 438) | 200 OK [http://my.host.com/dashboard/update?todos%5Buser%5D=25&todos%5Bsfu_type%5D=]

我想要保持上述内容不要一起写入日志,或者将其重定向到不同的日志文件(即dashboard.log),这样就会停止使production.log文件混乱.

每次登录的每个用户的ajax调用更新时,我都会将上面的示例写入日志.这大约每2分钟更新一次,因此生产日志文件充斥着无用的日志消息.

解决方法

迟到的答案,但我花了很多时间寻找答案的互联网,因此:

在包含您要忽略的操作的控制器中,覆盖logger方法并返回某些操作的rails默认值,以及需要特殊处理的自定义记录器或nil.

def logger
  if params[:action] == 'action_to_ignore'
    # return custom logger or nil
  else
    RAILS_DEFAULT_LOGGER
  end
end

我怀疑有一种更简单的方法,如果它存在,我很乐意听到它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读