как получить только трассировку стека из моего приложения в рельсах? - PullRequest
0 голосов
/ 17 апреля 2010

Поведение по умолчанию, кажется, печатает большие следы стека как

ArgumentError (too few arguments):
app/controllers/players_controller.rb:55:in `format'
app/controllers/players_controller.rb:55:in `create'
/dh/passenger/lib/phusion_passenger/rack/request_handler.rb:92:in `process_request'
/dh/passenger/lib/phusion_passenger/abstract_request_handler.rb:207:in `main_loop'
/dh/passenger/lib/phusion_passenger/railz/application_spawner.rb:400:in `start_request_handler'
/dh/passenger/lib/phusion_passenger/railz/application_spawner.rb:351:in `handle_spawn_application'
/dh/passenger/lib/phusion_passenger/utils.rb:184:in `safe_fork'
/dh/passenger/lib/phusion_passenger/railz/application_spawner.rb:349:in `handle_spawn_application'
/dh/passenger/lib/phusion_passenger/abstract_server.rb:352:in `__send__'
/dh/passenger/lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
/dh/passenger/lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'
/dh/passenger/lib/phusion_passenger/abstract_server.rb:163:in `start'
/dh/passenger/lib/phusion_passenger/railz/application_spawner.rb:209:in `start'
/dh/passenger/lib/phusion_passenger/spawn_manager.rb:262:in `spawn_rails_application'
/dh/passenger/lib/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add'
/dh/passenger/lib/phusion_passenger/spawn_manager.rb:256:in `spawn_rails_application'
/dh/passenger/lib/phusion_passenger/abstract_server_collection.rb:80:in `synchronize'
/dh/passenger/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
/dh/passenger/lib/phusion_passenger/spawn_manager.rb:255:in `spawn_rails_application'
/dh/passenger/lib/phusion_passenger/spawn_manager.rb:154:in `spawn_application'
/dh/passenger/lib/phusion_passenger/spawn_manager.rb:287:in `handle_spawn_application'
/dh/passenger/lib/phusion_passenger/abstract_server.rb:352:in `__send__'
/dh/passenger/lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
/dh/passenger/lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'

но я хочу видеть только трассировку стека из моего приложения. В данном случае это верхние 3 строки, которые состоят из самой ошибки, а затем части моего приложения. В этом случае я бы предпочел увидеть это:

ArgumentError (too few arguments):
app/controllers/players_controller.rb:55:in `format'
app/controllers/players_controller.rb:55:in `create'

Возможно ли это?

1 Ответ

1 голос
/ 17 апреля 2010

Если вы используете Rails> = 2.3, ответ - глушители обратной трассировки http://afreshcup.com/home/2008/11/29/rails-23-backtrace-silencing.html.

Из заметки о выпуске :

Rails автоматически добавляет глушители в избавиться от наиболее распространенного шума в новое приложение и создает файл config / backtrace_silencers.rb для держать свои собственные дополнения

Если вы используете более раннюю версию Rails, используйте http://github.com/thoughtbot/quietbacktrace.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...