龙卷风中的错误电子邮件

时间:2014-10-11 18:51:04

标签: python tornado

我正在龙卷风中运行一个项目,我宁愿不定期检查日志文件中是否存在未捕获的错误,并且已经发送电子邮件给某人"或者"存储在db" (首选MongoDB)。

龙卷风似乎没有(至少在文档中)有一种方法可以做到这一点。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以创建任意数量的自定义异常处理程序:

  1. 第一个将序列化异常存储到Mongo中(使用Motor)
  2. 第二个,通过logging.handlers.SMTPHandler发送序列化异常。
  3. 请查看:https://docs.python.org/2/library/logging.handlers.html

    我如何做,在我的Tornado应用程序中:

    • 创建一个ApplicationException类,它将回溯的内容存储为字符串
    • 使用ApplicationException类的保存方法
    • 将我的代码在运行时生成的ApplicationException实例保存到Cassandra或Mongo中。
    • 使用smtp处理程序通过电子邮件发送一些特定的ApplicationException子类对象

    在实现基于龙卷风的客户端/服务器解决方案时,我通常会使用它,以便我可以将ApplicationException对象作为json通过https发送到我的服务器,这可以解码它并存储在DB /电子邮件中发送给管理员。

    所有这些都需要很长时间才能学习和实施,但值得这样做。