Fresh Rails 4.2 einrichten. Ich möchte lange Fehlerrückverfolgungen unterdrücken. Im folgende Backtrace Protokoll würde erste Zeile für mich genug sein, und am nächsten 4Rails Backtrace-Schalldämpfer funktionieren nicht, während Filter
ActionController::RoutingError (No route matches [GET] "/user"):
actionpack (4.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
web-console (2.1.2) lib/web_console/middleware.rb:37:in `call'
actionpack (4.2.1) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.2.1) lib/rails/rack/logger.rb:38:in `call_app'
Ich habe ein neues Schalldämpfer backtrace_silencers.rb
hinzugefügt
# config/initializers/backtrace_silencers.rb
Rails.backtrace_cleaner.add_silencer { |line| line =~ /lib/ }
Nach Neustart des Servers entfernt werden kann - nichts passiert, i bekomme immer noch dasselbe Backtrace-Protokoll. (Jede Zeile passende /lib/
sollte entfernt werden: http://api.rubyonrails.org/classes/ActiveSupport/BacktraceCleaner.htm)
Check Sanity:
> line = "actionpack (4.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'"
=> "actionpack (4.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'"
> line =~ /lib/
=> 19
Aber Filter arbeiten:
# config/initializers/backtrace_silencers.rb
Rails.backtrace_cleaner.add_filter { |line| line.gsub('lib', 'yeah!') }
Jetzt sieht Backtrace wie folgt aus:
ActionController::RoutingError (No route matches [GET] "/user"):
actionpack (4.2.1) yeah!/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
web-console (2.1.2) yeah!/web_console/middleware.rb:37:in `call'
actionpack (4.2.1) yeah!/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.2.1) yeah!/rails/rack/logger.rb:38:in `call_app'
Ich würde mich über einen Ratschlag freuen, wie man Schalldämpfer arbeiten lässt. Prost!
Ich fügte dies an der Spitze dieser Datei, nach den vorhandenen "erfordern" Zeilen. An sich hat dies keine Änderungen an der "backtrace_silencers.rb" Datei (Reiniger) für mich gemacht.Aber ich fand es in Kombination mit der Antwort von "Michail Chuprynski" notwendig, ein SilentLogger-Modell zu erstellen. Mit diesen beiden Lösungen kann ich endlich all den nutzlosen Müll aus meiner Konsolenausgabe herausholen. – JosephK