我正在使用python的标准日志记录系统来记录我的应用程序。我想打印所有类型的消息(通过关键调试)到控制台,但如果消息级别错误或更高,我也想发送电子邮件。我一直在阅读有关日志记录的文档,但它有点令人困惑。我设置了下面的测试,但它似乎没有正常工作:设置python logging的麻烦
import logging
log = logging.getLogger('my_test_log')
sublog = logging.getLogger('my_test_log.sublog')
log.setLevel(logging.ERROR)
log.addHandler(logging.StreamHandler())
sublog.addHandler(logging.StreamHandler())
sublog.setLevel(logging.DEBUG)
sublog.debug('This is a debug message')
sublog.info('This is an info message')
sublog.warn('This is a warn message')
sublog.error('This is an error message')
sublog.critical('This is a critical message')
注:我成立了两个日志StreamHandler中的,因为现在我不想垃圾邮件还没有,但应该在技术上只需打印错误和重要消息两次,而不是在这种情况下发送给电子邮件。
This is a debug message
This is a debug message
This is an info message
This is an info message
This is a warn message
This is a warn message
This is an error message
This is an error message
This is a critical message
This is a critical message
基本上一切都被印刷两次,而不仅仅是错误和关键消息:在此之后的作品通过电子邮件发送它关闭
这是我的输出,当我运行这段代码,我将其更改为SMTP。我在这里做错了什么?谢谢!
好吧,这将有道理为什么它不会工作。我只是试过这个,它的工作原理!谢谢! –