2012-03-29 7 views
5

ho realizzato un sistema in tempo reale distribuito in RoR, è composto da 2 macchine.ruby ​​on rails log file to big -> remove params from it

PC A: prendere le immagini da una fotocamera e inviarle al secondo PC. Quindi questa macchina invia ogni secondo una richiesta http con l'immagine nei parametri. PC B - il server: salva l'immagine in un database.

Il mio problema è che il file di registro diventa troppo grande perché registra anche la stringa params. Come posso impostare il logger per troncare i parametri? o semplicemente rimuoverlo?

scusa per il mio cattivo inglese ..... spero che qualcuno possa aiutarmi. Ciao Davide Lentini.

risposta

4

È possibile impostare il livello di registro in modo che sia meno dettagliato.

Vedere rails guide on debugging.

Così, per l'intera applicazione (in fase di sviluppo), aggiungere questo config/ambienti/development.rb:

config.log_level = :warn # In any environment initializer, or 

O, per cambiare il livello di registrazione direttamente nella vostra applicazione:

Rails.logger.level = 0 # at any time 
+0

Penso che la modifica di "log_level" sopprimerà altre informazioni. –

17

Per rimuovere specificamente alcuni params dai log è possibile impostare il config.filter_parameters in application.rb come questo:

config.filter_parameters += [:parameter_name] 

Questo sostituirà il valore del parametro filtrato con "[FILTRATO]".

+0

grazie .... è quello che stavo cercando ... – Dabidi

+0

Aggiunta di riferimento rapido per coloro che trovano questa risposta in futuro: http://api.rubyonrails.org/classes/ActionDispatch/Http/FilterParameters.html – Oli