gpt4 book ai didi

ruby-on-rails - 在 Rails 中过滤长日志参数

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

我允许用户在我的网站上上传文件。其中一些文件可能非常大,占用了我的大量日志文件。所以我不想让它出现。我知道:

config.filter_parameters += [:password]

过滤某些参数。但问题是它的参数是这样的散列:

{
:person => {
:name => 'bob',
:file => {
:data => 'really long data. this can be tens of thousands of characters long'
}
}
}

我可以将 :data 添加到 filter_parameters,但这会在整个站点中隐藏大量日志,因为数据是一个公共(public)键(我也无法将其重命名为更模糊的名称)。 filter_parameters 是否可以接受嵌套参数?或者是否有另一种方法来限制所有参数的长度,这样如果它们大于特定大小,它就不会存储在我的日志文件中。

最佳答案

我最终在我的 application.rb 中加入了这样的东西

config.filter_parameters << lambda do |k, v|
if k == 'data' && v && v.class == String && v.length > 1024
v.replace('[FILTER]')
end
end

我找不到更好的方法来做到这一点。所以我在参数中寻找关键的“数据”。如果该数据的值是一个字符串且超过一定长度,我只需替换它,这样日志就不会那么困惑。

关于ruby-on-rails - 在 Rails 中过滤长日志参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26494999/

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