2016-07-14 7 views
8

In der Umgebung protokolliert Rails Logger alle ActionCable Events, was manchmal nervig ist (für mein Projekt sendet es hin und wieder Nachrichten und Log Tails laufen wie wilde Pferde). Was ist eine effiziente Möglichkeit, alle Ereignisprotokolle von ActionCable zu unterdrücken? Wie kann ich bestimmte ActionCable-Ereignisse unterdrücken?Rails Log für ActionCable Events deaktivieren

Antwort

3

Gleich hier, endlich habe ich eine Lösung gefunden. Sie sollten einen Code in /app/channels/application_cable/channel.rb außer Kraft setzen, wie

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 

folgt können Sie das ursprüngliche Verhalten simulieren, indem #logger.info action_signature(action, data) Linie uncommenting aus.

Danke.

+0

Dies half nicht ... Ich habe Code Quelle gesucht und gefunden haben, dass die Aktion Kabel viele Funktion, verwenden logging ... nicht nur dispatch_action ... –

5

Um vollständig zu deaktivieren Protokollierung von ActionCable sollten Sie ActionCable konfigurieren Logger zu verwenden, die nichts tun

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

Um dies zu verdeutlichen, geht diese Zeile in config/environments/development.rb – corpico