2013-09-04 2 views
0

Может ли кто-нибудь предложить способ, чтобы любые ошибки приложения в приложении Padrino отправляли эти ошибки по электронной почте?Padrino автоматически отправляет ошибки по электронной почте

У меня уже есть Mailer Padrino, который правильно настроил и может отправлять тестовые электронные письма, я просто не знаю, как настроить приложение, чтобы отправить мне отчет по почте (а также, конечно же, его журнал) всякий раз, когда возникает ошибка.

Спасибо.

ответ

1

Я закончил использовать драгоценный камень padrino-contrib. С его помощью вы можете установить плагин вам нужно (конечно, вы можете сделать это вручную, также):

padrino-gen plugin exception_notifier 

который добавит его в файл гем, а также редактировать свои app/app.rb и boot.rb файлы для загрузки этого драгоценного камня.

Тогда в app/app.rb вы положили что-то вроде:

register Padrino::Contrib::ExceptionNotifier 
    set :exceptions_from, "[email protected]" 
    set :exceptions_to,  "your_address.domain.com" 

И это все.

Хорошая вещь, позволяющая подключить плагин для вас, заключается в том, что если вы более знакомы с Rails, чем с Padrino (как и в моем случае), это не только упростит вас, но и покажет, что вы были директивами должен идти.

Надеюсь, это поможет кому-то еще.

0

Хорошим подходом должно быть использование обработчиков исключений. Добавление блока begin..rescue к вашему коду, и если есть исключение, вы отправляете электронное письмо и продолжаете желаемое поведение.

def some_action 
    begin 
    # some code that could go wrong 
    rescue SomeExceptionClass => some_variable 
    # here you send the email with the errors 
    # render stuff, redirect stuff, etc 
    end 
end 
+0

Да, но я ищу метод, который ловит все другие ошибки, а не только те, которые я начинали с помощью 'begin rescue', что, я должен признать, я не сделал столько, сколько должен , Кажется, я помню, что был камень для Rails, но, похоже, он не работал с Падрино. – kakubei

+0

Да, двигатели разные. Во всяком случае, вы можете использовать класс «Исключение», так как все остальные наследуются от него, поэтому все эры должны быть уловлены. И еще один подход заключается в том, что вы можете иметь несколько «спасений» для одного и того же «начала», выбирая все типы исключений, которые вы хотите. – MurifoX

+0

Вы имеете в виду расширение класса Exception для отправки электронной почты? Как мне это сделать в Падрино? – kakubei

Смежные вопросы