Quando invio un'e-mail con un allegato, i dati sono registrati in esadecimale e riempiono il mio intero registro. C'è un modo per disabilitare la registrazione degli allegati? So che posso disabilitare la registrazione del mailer con config.action_mailer.logger = nil
.impedisce a Rails di registrare gli allegati e-mail
risposta
in Application.rb
si potrebbe provare a filtrare il parametro allegato. Credo che questo dovrebbe risolvere il problema, ma non l'ho testato io stesso
config.filter_parameters += [:attachment]
Purtroppo, gli allegati sono inclusi nei registri se il livello di registrazione è impostato su :debug
, il livello predefinito per ambienti non di produzione. Ciò significa che nella produzione dovresti stare bene, ma il tuo ambiente di sviluppo e quello di staging potrebbero gonfiarsi durante i test. È possibile disattivare la registrazione per l'intera app (config.log_level = :info
), ma ovviamente non è l'ideale.
È possibile configurare un logger personalizzato:
config.action_mailer.logger = ActiveSupport::BufferedLogger.new("mailer.log")
config.action_mailer.logger.level = ActiveSupport::BufferedLogger::Severity::INFO
Questa dividerà il registro, ma è possibile isolare il cambiamento del livello di registrazione per il programma di posta all'azione.
In Rails 4, dovresti usare 'ActiveSupport :: Logger' dato che' ActiveSupport :: BufferedLogger' è stato ammortizzato ([source] (http://edgeguides.rubyonrails.org/4_0_release_notes.html#active-support-deprecations)) . –
'filter_parameters' riguarda i parametri di filtraggio inviati ** al ** sito, no? – m33lky
La mia comprensione è ed è sempre stata che filter_parameters impedisce che il parametro venga stampato nel log, in questo modo non si stampa mai accidentalmente un numero di carta di credito o una password nel file di registro –
corretto. Ma se sto _rendering_ una vista mailer, non penso che si presenterà come un parametro GET o POST, perché questo sta andando nella direzione opposta. – m33lky