gpt4 book ai didi

python - 有没有办法在 Python 中配置 SMTPHandler 来做更高级的事情?

转载 作者:太空狗 更新时间:2023-10-29 22:27:36 26 4
gpt4 key购买 nike

我正在使用标准的 SMTPHandler 记录器来捕获我的 Python 异常。 有没有办法将异常名称放入邮件主题中?这会比使用静态主题好得多,因为 Gmail(不仅是 Gmail)可以根据主题对对话进行分组,因此它可以根据错误类型对其进行分组。

例如,如果出现 50 个完全相同的错误 + 1 个不同的错误,我会在收件箱中看到两个对话,而不是 1 个包含 51 封电子邮件的对话,在那里我很容易忽略一个不同的。

此外,有没有办法防止发送相同的错误?以某种方式定义我自己的功能,决定是否发送电子邮件。该函数将在参数中获取一些基本信息,以便它可以做出决定(例如缓存并查看是否已发送此类问题)。

我浏览了文档,但找不到类似的内容。这似乎很简单。 如果 SMTPHandler 不能做到这一点,什么是最好且仍然简单的替代方案?有没有简洁的库?

谢谢!

最佳答案

您只需要创建自己的 SMTPHandler 子类即可.

对于您的第一个请求:您只需覆盖 getSubject(record) 方法。至于你可以在主题中输入什么,请在从日志中导入 Formatter 后查看 help(Formatter)

对于您的第二个请求:您必须覆盖 emit(record) 方法。检查记录并自行决定是否发送。如果是,则只需调用 super(SMTPHandler,self).emit(record) 方法即可。

class MySMTPHandler(SMTPHandler):

def getSubject(self, record):
return "My Error Format from the record dict"

def emit(self, record):
#check for record in self.already_send or something
if sendit:
super(MySMTPHandler,self).emit(record)

关于python - 有没有办法在 Python 中配置 SMTPHandler 来做更高级的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9235997/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com