Domanda

sto testando un'applicazione creata con le rotaie e di volta in volta ottenere i bug

quando succede, si verifica ActionView :: TemplateError e viene registrato nel registro / production.log

Come faccio a prenderlo e f.ex. Mi inviare via e-mail ogni volta che succede da qualche parte in app?

qual è il modo migliore per farlo?

f.ex. in ApplicationController con una sorta di before_filter?

il codice sarebbe, immagino

before_filter :app_error_catch

def app_error_catch
 begin
  rescue ActionView::TemplateError
  Mailer.deliver_apperror(errormessage)
 end
end

è così vicino alla verità? e come faccio ad avere il "errormessage"?

grazie

È stato utile?

Soluzione

Hai guardato [exception_notifier][1] o hoptoad? exception_notifier è un plugin che invierà una e-mail su un'eccezione, completo di backtrace.

Hoptoad è un sito che raccoglie le informazioni sulle eccezioni della vostra applicazione.

Altri suggerimenti

Non è necessario scrivere questo da soli - ci sono plugin costruite per fare questo. Come suggerito da flyfishr64, exception_notifier è ampiamente utilizzato.

passare attraverso le seguenti (breve) screencast e vedere quale soluzione ti piace il migliore.

Lungo le linee di risposta di flyfishr64 , c'è anche la bella eccezionale

Ci sono diversi strumenti / servizi che è possibile utilizzare.

servizi terze parti:

Plugin:

personalizzato

Si può facilmente integrare una funzione personalizzata utilizzando rescue_from e < a href = "http://api.rubyonrails.org/classes/ActionController/Rescue.html#M000415" rel = "nofollow"> noreferrer metodi rescue_action_in_public.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top