Каков наиболее надежный способ автоматической регистрации каждого исключения в базе данных в rails 3.1 (возможно, с использованием промежуточного программного обеспечения Rails)?
Я знаю, что это может звучать как стандартный вопрос, но большинство ответов, которые я нашел до сих пор, были либо немного устаревшими (rails-2), либо предлагали локальную обработку.
Я смотрел http://railscasts.com/episodes/277-mountable-engines и Райан предлагает использовать
ActiveSupport::Notifications.subscribe "process_action.action_controller" do |name, start, finish, id, payload|
if payload[:exception]
name, message = *payload[:exception]
Uhoh::Failure.create!(:message => message)
end
end
Но он также говорит
Решение, которое мы будем использовать для этого, не очень эффективно, но оно простое и будет работать для нашего случая.
Есть ли лучшая альтернатива?
У меня есть несколько классов исключений, и я обрабатываю исключение в самом контроллере, но было бы хорошо, чтобы они вошли в определенную таблицу базы данных для анализа.
Я сталкиваюсь с драгоценным камнем exception_logger
(https://github.com/defunkt/exception_logger),, но этот камень кажется немного устаревшим (?).