代码之家  ›  专栏  ›  技术社区  ›  Tauquir

发生错误时向管理员发送电子邮件

  •  4
  • Tauquir  · 技术社区  · 16 年前

    在python中,当发生500个错误时,如何向管理员发送电子邮件。

    2 回复  |  直到 16 年前
        1
  •  8
  •   Liquid_Fire    16 年前

    @error(code) decorator定义错误处理页,如下所示:

    from bottle import run, error, route
    
    @error(500)
    def handle_500_error(code):
      # add mail send code here
      return "Error message here"
    
    @route("/test_500")
    def cause_error():
      raise Exception
    
    run()
    

    只需导航到 /test_500 去看它的行动

    编辑:

    显然,如果您使用的是最新的瓶子v0.8,那么 @error decorator接收的参数不是错误代码,而是 bottle.HTTPError 对象,其中包含异常和回溯。

    或者,您可以通过设置 bottle.app().catchall False here ,然后使用一些适当的WSGI中间件来处理它们并发送电子邮件(例如 this ).

        2
  •  1
  •   Jungle Hunter    16 年前

    下面是来自 Bottle documentation .

    bottle.HTTPError 将导致500个内部服务器错误响应,因此它们不会使WSGI服务器崩溃。

    Exception 并编写代码,将电子邮件发送给可能涉及的任何人。您的代码将进入 try 块,您将有一个 发送所需电子邮件的。