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

2024-01-10

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

我使用的网络框架是“bottle”。


只需使用@error(code)装饰器来定义错误处理页面,如下所示:

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看看它的实际效果

当然,您可以使用错误页面的模板,就像使用任何其他页面一样。我不确定是否有办法在具有错误处理程序的同时获取内置瓶子错误页面。

Edit:

显然,如果您使用的是最新的 Bottle v0.8,则您应用的函数@error装饰器接收的参数不是错误代码,而是bottle.HTTPError http://bottle.paws.de/docs/dev/api.html#bottle.HTTPError对象,其中包含异常和回溯。

或者,您可以通过设置 Bottle 不处理异常bottle.app().catchall to False如上所述here http://bottle.paws.de/docs/dev/tutorial.html#http-errors-and-redirects,然后使用一些适当的 WSGI 中间件来处理它们并发送电子邮件(例如类似的东西this http://turbogears.org/2.0/docs/modules/pylons/middleware.html#module-weberror.errormiddleware).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

发生 500 错误时向管理员发送电子邮件 的相关文章

  • Python 3.6 DateTime Strptime 返回错误,而 Python 3.7 运行良好

    我刚刚为日期数据创建了一个数据类型 它返回一个datetime datetime object 这是代码 import datetime class Date def new cls dateTime args kwargs return
  • 更改随机森林分类器的阈值

    我需要开发一个没有 或接近没有 假阴性值的模型 为此 我绘制了召回率 精度曲线 并确定阈值应设置为 0 11 我的问题是 如何定义模型训练时的阈值 稍后在评估时定义它是没有意义的 因为它不会反映新数据 X train X test y tr
  • Python 函数句柄 ala Matlab

    在 MATLAB 中可以创建function handles http www mathworks co uk help techdoc ref function handle html与类似的东西 myfun arglist body 这
  • 如何仅选择数组中的第一列并对其求和?

    这是我的代码 import numpy as np contrainte1 1080 0 65 minutes tous les jours contrainte2 720 0 55 minutes du lundi au vendredi
  • Visual Studio Code:如何使用参数调试 Python 脚本

    我正在使用 Visual Studio Code 来调试 Python 脚本 下列的本指南 https code visualstudio com docs python debugging 我在中设置了参数launch json file
  • Pandas 在列级别连接数据帧时添加键

    根据 Pandas 0 19 2 文档 我可以提供keys参数来创建结果多索引 DataFrame 一个例子 来自 pandas 文档 是 result pd concat frames keys x y z 我将如何连接数据框以便我可以在
  • 如何使用 Twython 将 oauth_callback 值传递给 oauth/request_token

    Twitter 最近刚刚强制执行以下规定 1 您必须通过oauth callbackoauth request token 的值 这不是可选的 即使您已经在 dev twitter com 上设置了一个 如果您正在执行带外 OAuth 请通
  • Colab 的使用限制持续多久?

    当我对同一帐户的两个笔记本同时使用两个 GPU 约半小时后 Colab 已 12 小时未运行 此消息不断弹出 由于 Colab 中的使用限制 您当前无法连接到 GPU 自从我上次使用 colab 以来已经过去了大约两个小时 但该消息仍然弹出
  • 更改 numpy 数组的结构强制给定值

    如何缩小栅格数据的比例4 X 6大小成2 X 3如果 2 2 像素内的任何元素包含 1 则大小强制选择 1 否则选择 0 import numpy as np data np array 0 0 1 1 0 0 1 0 0 1 0 0 1
  • 类型错误:translate() 只接受一个参数(给定 2 个参数)[重复]

    这个问题在这里已经有答案了 我的代码在 python 2 x 版本上运行良好 但是当我尝试在 python 3 x 版本上运行它时 出现错误 主题 需要缩写短信编码中的任何消息 Code def sms encoding data star
  • 从 Spark 数据帧中过滤大量 ID

    我有一个大型数据框 其格式类似于 ID Cat date 12 A 201602 14 B 201601 19 A 201608 12 F 201605 11 G 201603 我需要根据大约 500 万个 Is 的列表来过滤行 最直接的方
  • 如何使用 ipywidgets 创建动态依赖下拉菜单?

    我创建了一个带有两个下拉菜单的表单 我的目标是使一个下拉列表依赖于另一个下拉列表 这张图说明了我的目标和目前的情况 https i stack imgur com o9k5G png 下面的示例代码可以在 Google Colab 或 Ju
  • 监控培训课程如何运作?

    我试图理解使用之间的区别tf Session and tf train MonitoredTrainingSession 以及我可能更喜欢其中之一 似乎当我使用后者时 我可以避免许多 杂务 例如初始化变量 启动队列运行程序或设置文件编写器以
  • 如何解决CDK CLI版本不匹配的问题

    我收到以下错误 此 CDK CLI 与您的应用程序使用的 CDK 库不兼容 请将CLI升级到最新版本 云程序集架构版本不匹配 支持的最大架构版本为 8 0 0 但发现为 9 0 0 发出后cdk diff命令 我确实跑了npm instal
  • 如何在每次运行 python 程序时添加新列

    我希望我的表的第一列作为卷号 第二列作为名称 每当我运行 python 程序时 我想在表中添加一列日期 在这个新列中 我想填充从 user list 获得的列表将包含值 P A P P 等 如何处理 我尝试首先通过 alter 命令添加一列
  • Python 在 64 位 vista 上获取 os.environ["ProgramFiles"] 的错误值

    Vista64 计算机上的 Python 2 4 3 环境中有以下2个变量 ProgramFiles C Program Files ProgramFiles x86 C Program Files x86 但是当我运行以下命令时 impo
  • telethon 库:如何通过电话号码添加用户

    我正在研究 Telegram 的 Telethon 库 它可以使用 Telegram API 充当 Telegram 客户端 重要提示 这是电报客户端 API https core telegram org telegram api 而不是
  • 使用 conda 安装额外功能

    With pip我们可以使用方括号安装子包 例如与阿帕奇气流 https pythonhosted org airflow installation html pip install airflow all 有类似的东西吗conda或者我必
  • 如何输入可变的默认参数

    Python 中处理可变默认参数的方法是将它们设置为无 https stackoverflow com a 366430 5049813 例如 def foo bar None bar if bar is None else bar ret
  • 具有重复值的 Sqlite 列

    就说专栏吧aSQLite 数据库的非常重复 始终有相同的 4 个值 其他值可能稍后出现 但不同值的数量将少于 1000 个 VALUES hello world it s a shame to store this str many tim

随机推荐

  • “如果不是 _____ 就什么都不是”以及它检查的内容

    VB 中的这条语句是检查对象是否存在 还是检查内容是否为空 我认为它正在检查内容是否为空 但我想仔细检查一下 提前致谢 VBA 中 null 的概念 即NullReferenceException null 如果您熟悉 C 或者NullPo
  • 流星当前活跃用户?

    我正在流星中制作一个简单的聊天室 我如何获取当前活跃用户的列表 有没有办法真正获取当前连接 客户端的列表 我昨天浏览了流星源 看看是否已经有类似的东西了 我找不到连接的标志或任何东西 我想你会有两种选择 在客户端和服务器中为每个连接的用户实
  • 以编程方式更新 MS Word 中 excel 对象的链接命名范围 (2007)

    第一个问题 请问这个问题是否已经解决 但我已经彻底搜索并找不到答案 我已将几个命名范围链接到一个 Word 文档中 此 Word 文档 以及带有命名范围的相关 Excel 工作簿 是一个模板 它供同事制作这些模板 Word 文档和 Exce
  • 在python中添加年份

    如果我想在程序中添加 100 年 为什么它显示错误的日期 import datetime stringDate January 10 1920 dateObject datetime datetime strptime stringDate
  • 正则表达式仅匹配前面有空格或没有任何内容的特定字符(行首)

    考虑以下推文 RT username This is my tweet Check this RT username This is my tweet I have PART 2 downloaded In a preg replace 调
  • 将 Postgresql 数组直接读入 Golang Slice

    我有一个查询返回一行 其中有一列包含字符串数组 character varying http wp me p62MJv Jc http tyrant click 1LGBoD6 有没有简单的方法可以将其直接读入 Golang 切片中 例如
  • 在我的项目中使用 jar 时出错

    我使用 Java 1 8 来创建我的 jar 我在Java项目中可以使用它 但是在Android项目中 出现以下错误 Error Error converting bytecode to dex Cause Dex cannot parse
  • 显式复制构造函数和 std::sort

    当对具有显式复制构造函数的对象容器进行排序时 我收到我不理解的编译器错误 来自 g 4 8 2 和 clang 3 4 均处于 std c 11 模式 我创建了一个简单的示例来演示该问题 class A public explicit A
  • 如何在sql中将分钟拆分为天、小时和分钟

    我有一个由分钟组成的专栏 有没有什么简单的方法可以将分钟列拆分为仅显示天 小时 分钟的一列 DURATION 67 gt 1 hour 7 minutes 1507 gt 1 day 1 hour 7 minutes 23 gt 23 mi
  • Open Shift Kafka 实例中默认不创建 Topic

    我正在使用下面的 Camel Route 向 Kafka 实例生成消息 但该主题不存在于实例中 当 Kafka 实例中不存在主题时 如何创建主题 Component public class kafkaConfig extends Rout
  • 如何通知视图模型的所有属性已更改

    在MVVM模式中 如何通知视图模型的所有属性发生了变化 我不想调用所有属性的所有notifypropertychanged 事件 我有一个实体类 在视图模型中 我将实体的所有公共字段编写为公共属性 我想重新绑定新实体并只编写一行代码来通知所
  • 什么 API 可以使用 Java 将复选框添加到 MS Word 文件?

    我想编写一个程序来创建 MS Word 文件 但某些 API 无法向文档添加复选框 有人这样做过吗 谢谢 open office的api怎么样 http api openoffice org docs common ref com sun
  • 编译时与运行时错误[重复]

    这个问题在这里已经有答案了 可能的重复 运行时与编译时 https stackoverflow com questions 846103 runtime vs compile time 我如何知道 Java 中的特定代码行是否可能引发编译时
  • Spark 分区:从单节点集群上的本地文件系统加载文件

    我有兴趣了解 Spark 在从本地文件系统加载文件时如何创建分区 我正在使用 Databricks 社区版来学习 Spark 当我使用 sc textfile 命令加载一个大小只有几千字节 大约 300 kb 的文件时 spark 默认情况
  • jquery 使用内联 javascript 加载

    我正在使用 jquery load 获取不同页面上的 div 并将其插入到我的页面中 像这样的东西 mydiv load Pages grid2 aspx otherpagediv 在另一个页面的div中 div中有javascript j
  • Intent.setAction()和intent.getAction()在BroadcastReceiver中不起作用

    我正在使用 BroadCastReceiver 来允许用户执行离线事件 问题是它永远不会进入内部intent getAction equals beenthereclicked 如果我尝试在点击beenThereView后几秒钟打开wifi
  • 从VBA中的日期中减去?

    我在 Excel VBA 中对日期进行操作时遇到很大问题 我有一个带有文本框的表单 用户将在其中输入日期 问题是他可能会以不同的格式输入 例如 1 08 2011 表示 8 月 1 日 或 8 1 11 表示同一天 现在我想做的是从他在文本
  • 如果用户从不点击警报,如何处理超时错误?

    我有一个 Google Sheets 插件 它使用 App Script Ui 服务提供的对话框 即SpreadSheetApp getUi alert 这通常工作正常 除非用户在 5 分钟内没有选择选项或关闭警报 假设他们切换到不同的选项
  • 模拟 raw_input python

    我有这个函数应该接收列表 x y def input origem origem raw input Entre com o valor de x origem eval origem return origem def input sai
  • 发生 500 错误时向管理员发送电子邮件

    在 python 中 当发生 500 错误时 如何向管理员发送电子邮件 我使用的网络框架是 bottle 只需使用 error code 装饰器来定义错误处理页面 如下所示 from bottle import run error rout