2014-10-11 42 views
1

我正在龍捲風中運行一個項目,我不希望定期檢查日誌文件以查找未被捕獲的錯誤,並有「給某人發送電子郵件」或「以數據庫存儲」(首選MongoDB)。Tornado中的錯誤電子郵件

龍捲風似乎沒有(至少在文檔中)一種方法來做到這一點。有沒有辦法做到這一點?

+1

不是你要求的,但可能對你的問題有用;你知道哨兵嗎? (getsentry.com) – 2014-10-11 19:36:57

+0

@TommasoBarbugli龍捲風:-( – Maddy 2014-10-11 20:00:02

+0

哎呀,對不起,它不支持龍捲風 – Maddy 2014-10-11 20:01:02

回答

1

您可以創建多個自定義異常處理程序:通過logging.handlers.SMTPHandler

  1. 存儲序列化的異常轉換蒙戈(使用電機)
  2. 第二,通過電子郵件發送的序列化異常的第一個, 。

,看一下:https://docs.python.org/2/library/logging.handlers.html

我怎麼辦,我的龍捲風應用:

  • 創建存儲追溯的內容爲字符串的ApplicationException的類
  • 保存使用ApplicationException類的保存方法在運行時由我的代碼在異常中生成的ApplicationException實例類
  • 通過電子郵件發送一些使用SMTP處理特定ApplicationException的子類對象

我一般用這個,實現基於龍捲風客戶端/服務器解決方案時,這樣我就可以通過HTTPS發送ApplicationException的對象爲JSON,我的服務器,它可以解碼它並存儲在數據庫中/通過電子郵件發送給管理員。

這一切都可以很長的時間學習和實施,但它值得去做。

+0

不知道你需要蒙戈發送錯誤的郵件不支持:/ – 2014-10-11 19:30:52

+0

我道歉:) – 2014-10-11 19:34:21

+0

@TommasoBarbugli一些處理,就像錯誤的頻率和嚴重程度一樣。基於它會使用cron發送電子郵件 – Maddy 2014-10-11 19:34:23