gpt4 book ai didi

ruby-on-rails - 如何一起静音对 Rails Controller 操作的调用

转载 作者:数据小太阳 更新时间:2023-10-29 07:24:23 25 4
gpt4 key购买 nike

我已经想出如何通过将所有内容包装在 logger.silence block 中的操作方法中来使操作的内容静音。

但是,我仍然收到日志文件中显示的操作调用。

即:

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 分钟更新一次,因此生产日志文件会被无用的日志消息淹没。

最佳答案

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

在包含您想忽略的操作的 Controller 中,重写记录器方法并为某些操作返回 rails 默认值,并为需要特殊处理的操作返回自定义记录器或 nil。

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

我怀疑有更简单的方法,如果存在的话我很想听听。

关于ruby-on-rails - 如何一起静音对 Rails Controller 操作的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1403073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com