2016-07-14 101 views
8

Nell'ambiente development, il registratore delle rotaie registra tutti gli eventi ActionCable che a volte sono fastidiosi (per il mio progetto, ogni tanto trasmette messaggi e la coda del registro è in esecuzione come un cavallo selvaggio). Qual è un modo efficace per sopprimere tutti i registri eventi da ActionCable? Inoltre, come posso sopprimere alcuni eventi specifici di ActionCable?Disabilita il log delle rotaie per gli eventi ActionCable

risposta

3

Stesso discorso, finalmente ho trovato una soluzione. Si dovrebbe ignorare un codice in /app/channels/application_cable/channel.rb come segue

module ApplicationCable 

    class Channel < ActionCable::Channel::Base 

    def dispatch_action(action, data) 

     #logger.info action_signature(action, data) 

     if method(action).arity == 1 
     public_send action, data 
     else 
     public_send action 
     end 
    end 
    end 
end 

È possibile simulare il comportamento originale decommentando fuori #logger.info action_signature(action, data) linea.

Grazie.

+0

Questo non ha aiutato ... Ho cercato il codice sorgente e ha scoperto che il cavo d'azione sono molte funzioni che utilizzano registrazione ... non solo dispatch_action ... –

5

Per disattivare completamente la registrazione da ActionCable si dovrebbe configurare ActionCable da usare logger che non fanno altro

ActionCable.server.config.logger = Logger.new(nil) 
+3

Per chiarire, questa riga va in config/environments/development.rb – corpico