2012-01-31 39 views
19

Khi tôi gửi email có tệp đính kèm, dữ liệu được ghi lại dưới dạng hex và điền toàn bộ nhật ký của tôi. Có cách nào để tắt ghi nhật ký các tệp đính kèm không? Tôi biết tôi có thể tắt tính năng ghi thư với config.action_mailer.logger = nil.ngăn Rails ghi lại các tệp đính kèm email

Trả lời

0

trong Application.rb bạn có thể thử lọc thông số tệp đính kèm. Tôi tin rằng điều này sẽ giải quyết vấn đề này, nhưng tôi đã không kiểm tra nó bản thân mình

config.filter_parameters += [:attachment] 
+1

'filter_parameters' là về các thông số lọc được gửi ** tới ** trang web của bạn, phải không? – m33lky

+0

Sự hiểu biết của tôi là và luôn luôn có bộ lọc_parameters dừng tham số đó được in vào nhật ký, theo cách đó bạn không bao giờ vô tình in số thẻ tín dụng hoặc mật khẩu vào tệp nhật ký –

+1

Đúng. Nhưng nếu tôi _rendering_ một cái nhìn mailer, tôi không nghĩ rằng nó sẽ hiển thị như là một GET hoặc một tham số POST, bởi vì điều này đang đi theo một hướng khác. – m33lky

11

Thật không may, file đính kèm có trong các bản ghi nếu mức khai thác gỗ được thiết lập để :debug, mức mặc định cho các môi trường phi sản xuất. Điều này có nghĩa là trong sản xuất bạn sẽ ổn, nhưng môi trường phát triển và dàn dựng của bạn có thể sưng lên trong khi thử nghiệm. Bạn có thể tắt ghi nhật ký cho toàn bộ ứng dụng của mình (config.log_level = :info), nhưng điều này rõ ràng là ít hơn lý tưởng.

Bạn có thể cấu hình một logger tùy chỉnh:

config.action_mailer.logger = ActiveSupport::BufferedLogger.new("mailer.log") 
config.action_mailer.logger.level = ActiveSupport::BufferedLogger::Severity::INFO 

này sẽ chia nhật ký, nhưng bạn có thể cô lập các thay đổi mức độ khai thác gỗ với bưu phẩm hành động.

+6

Trong Rails 4, bạn nên sử dụng 'ActiveSupport :: Logger' vì' ActiveSupport :: BufferedLogger' đã bị khấu hao ([source] (http://edgeguides.rubyonrails.org/4_0_release_notes.html#active-support-deprecations)) . –

Các vấn đề liên quan