2012-01-31 11 views
19

Po wysłaniu wiadomości e-mail z załącznikiem dane są logowane w formacie heksadecymalnym i wypełniają cały mój dziennik. Czy istnieje sposób wyłączenia rejestrowania załączników? Wiem, że mogę wyłączyć rejestrowanie programów pocztowych za pomocą config.action_mailer.logger = nil.zapobiec zapisywaniu załączników wiadomości e-mail w Railsach

Odpowiedz

0

w Application.rb możesz spróbować filtrowania parametru załącznika. Wierzę, że to powinno rozwiązać ten problem, ale nie testowałem to sam

config.filter_parameters += [:attachment] 
+1

Parametr 'filter_parameters' dotyczy filtrowania parametrów, które są wysyłane ** na ** twoją stronę, nie? – m33lky

+0

Moje zrozumienie jest i zawsze było takie, że parametry filter_parameters zatrzymują drukowanie tego parametru w dzienniku, dzięki czemu nigdy nie przypadkowo wydrukujesz numeru karty kredytowej lub hasła do pliku logu –

+1

Prawidłowo. Ale jeśli wysyłam widok mailera, nie wydaje mi się, żeby był wyświetlany jako parametr GET lub POST, ponieważ dzieje się to w innym kierunku. – m33lky

11

Niestety, załączniki są zawarte w logach, jeśli poziom logowania jest ustawiony na :debug, poziom domyślny dla środowisk nieprodukcyjnych. Oznacza to, że w produkcji powinieneś być w porządku, ale środowisko programistyczne i środowiskowe może wzrosnąć podczas testowania. Możesz wyłączyć rejestrowanie całej aplikacji (config.log_level = :info), ale jest to oczywiście mniej niż idealne.

Można skonfigurować własny rejestrator:

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

ten zostanie podzielony dziennika, ale można wyizolować Zmiana poziomu logowania do programu pocztowego działania.

+6

W Railsach 4 powinieneś użyć 'ActiveSupport :: Logger', ponieważ' ActiveSupport :: BufferedLogger' został zamortyzowany ([source] (http://edgeguides.rubyonrails.org/4_0_release_notes.html#active-support-deprecations)) . –

Powiązane problemy