相关疑难解决方法(0)

使用SMTPHandler在Python中记录MemoryHandler中的输出

我将日志记录模块MemoryHandler设置为为SMTPHandler目标排队调试和错误消息.我想要的是当包含所有调试语句的进程错误(每行一个)时发送一封电子邮件.我得到的是每个调试消息的单独电子邮件.

这似乎应该是微不足道的,并且是日志包的一部分,但我找不到任何关于它的内容,没有例子,谷歌上没有任何内容.

log = logging.getLogger()
log.setLevel(logging.DEBUG)
debug_format = logging.Formatter("%(levelname)s at %(asctime)s in %(filename)s (line %(lineno)d):: %(message)s")

# write errors to email
error_mail_subject = "ERROR: Script error in %s on %s" % (sys.argv[0], os.uname()[1])
error_mail_handler = logging.handlers.SMTPHandler(SMTP_HOST, 'errors@'+os.uname()[1], [LOG_EMAIL], error_mail_subject)
error_mail_handler.setLevel(logging.ERROR)
#error_mail_handler.setLevel(logging.DEBUG)
error_mail_handler.setFormatter(debug_format)

# buffer debug messages so they can be sent with error emails
memory_handler = logging.handlers.MemoryHandler(1024*10, logging.ERROR, error_mail_handler)
memory_handler.setLevel(logging.DEBUG)

# attach handlers
log.addHandler(memory_handler)
log.addHandler(error_mail_handler)
Run Code Online (Sandbox Code Playgroud)

与此相关:

error_mail_handler如果它是目标,我是否需要明确地添加到记录器memory_handler?应该error_mail_handler设置为DEBUG还是ERROR目标?当它被喂食时它甚至需要一个目标memory_handler吗?

很想看到解决这个问题的任何人的一些工作代码.

python logging

19
推荐指数
2
解决办法
2万
查看次数

我如何通过电子邮件向Flask发送错误日志?

如果应用程序中出现404或500错误,如何让Flask向我发送电子邮件?我config.py在这里遇到了以下内容,但我没有收到任何电子邮件.我是Flask的新手所以请原谅任何错误.

from app import app

ADMINS = ['myemail@domain.com']
if not app.debug:
    import logging
    from logging.handlers import SMTPHandler
    mail_handler = SMTPHandler('smtpout.secureserver.net',
                               'info@mydomain.com',
                               ADMINS, 'YourApplication Failed',
                               credentials=('info@mydomain.com','***'),
                               port=25)
    mail_handler.setLevel(logging.ERROR)
    app.logger.addHandler(mail_handler)
Run Code Online (Sandbox Code Playgroud)

我也对文档中的这一行感到困惑:

如果您的邮件服务器需要凭据,也可以提供这些凭据.

我的服务器不是"邮件服务器".我应该提供什么证书?我的电子邮件是在GoDaddy上托管的.

python flask

4
推荐指数
1
解决办法
2243
查看次数

标签 统计

python ×2

flask ×1

logging ×1