如何防止Rails ActiveRecord记录blob内容的日志?

5

我正在编写一个Rails 2.3.8应用程序,很欣赏ActiveRecord在开发模式下的默认日志配置,即在服务器控制台显示SQL查询及其值。但是,在blob值的情况下,我不想看到它们。

是否可能保持相同的日志级别,但在发出插入语句时不获取blob内容?

谢谢

1个回答

3
您可以在应用控制器中使用filter_parameter_logging来清除这些信息,就像处理密码和密码确认一样:
class ApplicationController < ActionController::Base
  filter_parameter_logging :my_blob
end

如果你有多个不同的潜在blob参数,这将变得繁琐,但对于大多数情况而言,这是可行的。


2
那似乎很有用,但仅适用于请求参数(例如表单密码)。我想知道当ActiveRecord将BLOB插入数据库时如何做类似的事情。 - df.
在 AR SQL 日志记录方面无法工作,只能记录请求参数(至少在 Rails 3.2.x 中)。 - pragmatic_programmer

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