ruby-on-rails – 在Rails中过滤长日志参数
发布时间:2020-12-17 03:17:45 所属栏目:百科 来源:网络整理
导读:我允许用户在我的网站上传文件.其中一些文件可能非常大,它占用了我的大量日志文件.所以我不希望它出现.我知道: config.filter_parameters += [:password] 过滤某些参数.但问题是它的参数是这样的哈希: { :person = { :name = 'bob',:file = { :data = 'rea
我允许用户在我的网站上传文件.其中一些文件可能非常大,它占用了我的大量日志文件.所以我不希望它出现.我知道:
config.filter_parameters += [:password] 过滤某些参数.但问题是它的参数是这样的哈希: { :person => { :name => 'bob',:file => { :data => 'really long data. this can be tens of thousands of characters long' } } } 我可以将数据添加到filter_parameters但是这会在整个站点中隐藏大量日志,因为数据是一个公共密钥(我也无法将其重命名为更加模糊的东西). 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 我找不到更好的方法来做到这一点.所以我在params中寻找关键的“数据”.如果该数据的值是一个字符串并超过一定长度,我只需将其替换,以便日志不会那么混乱. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |