attachment_fu into our app the other day, starting off with the default
:db_file setting to store images in the database. (I've been bitten by this approach before, but this time around I'm intrigued by page caching. We'll see.)
In the meantime, we've got blob after blob flying by in the
script/server output, and it's messing up our
Terminal fonts. No good.
Here's a quick fix,
class ActiveRecord::ConnectionAdapters::AbstractAdapter def format_log_entry_with_db_files_filtering(message, dump = nil) dump = 'INSERT INTO db_files' if dump.to_s =~ /^INSERT INTO db_files/ dump = 'UPDATE db_files' if dump.to_s =~ /^UPDATE db_files/ format_log_entry_without_db_files_filtering(message, dump) end alias_method_chain :format_log_entry, :db_files_filtering end
Note that this isn't yet a general solution (other tables' blobs will still be logged), but it's good enough for our needs, and we've got a known place we can come back to should we need to filter more blobs in the future.
Also, looking at
AbstractAdapter#log_info just now, we notice that could have written our own
Logger and saved the monkeypatch. Maybe we'll look into doing that some day.
5 Rails tips
Each day this week, Joachim and I will post something we've learned in our time programming together. It's fun to do, and we might just win something as well.
So far, we've written:
- Reloadable custom FormBuilder
- Faking DATA in tests
- Filter BLOBs from ActiveRecord logging