Hon*_*rek 6 python logging smtp exception-handling
我使用标准的SMTPHandler记录器来捕获我的Python异常.有没有办法将异常名称放入邮件主题?它会比使用静态主题好得多,因为Gmail(而不仅仅是Gmail)可以根据主题对对话进行分组,因此可以根据错误类型对其进行分组.
例如,如果50个完全相同的错误发生+ 1个不同,我会在我的收件箱中看到两个对话,而不是包含51个电子邮件的1个组,我可以很容易地忽略单个不同的对话.
另外,有没有办法防止发送仍然相同的错误?E. g.以某种方式定义我自己的功能决定是否要发送电子邮件.该函数将在params中获取一些基本信息,以便它可以决定(例如缓存并查看是否已发送此类问题).
我浏览了文档,但我找不到那样的东西.这似乎很简单.如果SMTPHandler无法做到这一点,那么最好还是简单的替代方案是什么?任何整洁的图书馆?
谢谢!
您只需要创建自己的SMTPHandler子类.
对于您的第一个请求:您只需要覆盖该 getSubject(record)
方法.至于您可以在主题中添加什么,请在help(Formatter)
从日志记录导入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)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2813 次 |
最近记录: |