使用Python日志发送电子邮件

时间:2016-01-12 09:26:44

标签: python python-3.x logging

我想在每次调用Logger.fatalLogger.warn时发送电子邮件。

也许解决方案可能是扩展它并覆盖方法。但是当您导入日志记录时,获取Logger类的唯一方法是使用logging.getLogger()

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

它不是覆盖记录器方法的最佳解决方案。

Python日志记录配置支持多个记录器,然后支持多个处理程序(文件,标准输出,电子邮件)。处理程序反过来具有不同的格式化程序(字符串格式如何显示日志条目),但它是这个问题的offtopic。

事实上,Python支持通过SMTPHandler开箱即用的电子邮件日志记录。

由于您未包含有关应用程序和记录器设置的详细信息,因此无法针对您的问题给出答案。但一般概述是这个

  • 添加SMTPHandler处理程序根记录器(带参数的logging.getLogger()调用应该为您提供根lgoger)

  • 将处理程序级别WARN设为忽略INFODEBUG级别

See also proper mechanism to initialize loggers in your Python code