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
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]
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.
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)) . –
Parametr 'filter_parameters' dotyczy filtrowania parametrów, które są wysyłane ** na ** twoją stronę, nie? – m33lky
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 –
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