Ruby on Rails日志文件过大 -> 从中删除参数。

10
我用RoR制作了一个分布式实时系统,由两台机器组成。
PC A: 从相机中获取图像并将其发送到第二台PC。因此,该机器每秒钟发送一个带有图像参数的http请求。 PC B - 服务器: 将图像保存在数据库中。
我的问题是,日志文件变得太大,因为它记录了参数字符串。 如何设置记录器以截断参数?或者简单地将其删除?
对不起,我的英语不好.....我希望有人能帮助我。 再见 Davide Lentini。
2个回答

26

要从日志中特定地删除某些参数,你可以在application.rb中设置config.filter_parameters,像这样:

config.filter_parameters += [:parameter_name]

这将使用 "[FILTERED]" 替换过滤参数的值。


4
为了方便未来查看本答案的人,我在此增加一个快速参考链接:http://api.rubyonrails.org/classes/ActionDispatch/Http/FilterParameters.html。请注意,我的翻译旨在保持原意并提高可读性,不包含解释或其他信息。 - Oli
这是针对哪个版本的Rails? - Arnold Roa
据我所知,这已经存在了六年了。它仍然在当前的edgerails指南中。我认为这至少存在于rails 2.1.0以来。 - CMW
1
您还可以指定lambda,就像Oli的链接中所示。 - x-yuri

6

您可以将日志级别设置为较少冗长。

请参阅Rails调试指南

因此,对于整个应用程序(在开发环境中),请将以下内容添加到config/environments/development.rb:

config.log_level = :warn # In any environment initializer, or

或者,您可以直接在应用程序中更改日志记录级别:

Rails.logger.level = 0 # at any time

我认为改变 log_level 会抑制其他信息。 - B Seven

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接