当前位置: 首页 > 科技观察

Python配置邮件发送日志

时间:2023-03-17 16:57:54 科技观察

前几天群里有人问,说了一些Python配置邮件发送日志。感觉自己又涨了很多知识,就记录在这里,方便以后使用,避坑。我们可以使用Python的logging.handlers.SMTPHandler方法将日志发送到指定邮箱。之前使用163邮箱配置参数,可以放心使用,但是使用QQ的企业邮箱一直报错,一直说登录超时。最后通过阅读logging的源码找到了原因。默认情况下,日志记录支持TLS连接。QQ企业邮箱和Gmail都使用SSL连接。最后附上一个简单的配置#logging.conf完整配置[loggers]keys=root,test[handlers]keys=consoleHandler,fileHandler,testHandler[formatters]keys=simpleFormatter[formatter_simpleFormatter]format=%(asctime)s-%(名称)s-%(levelname)s-%(消息)s-[%(文件名)s:%(lineno)s]datefmt=[logger_root]level=INFOhandlers=consoleHandler,fileHandler[logger_test]level=INFOhandlers=testHandlerqualname=testpropagate=0[handler_consoleHandler]class=StreamHandlerlevel=INFOformatter=simpleFormatterargs=(sys.stdout,)[handler_fileHandler]class=FileHandlerlevel=INFOformatter=simpleFormatterargs=('log/spider_db.log','a')[handler_testHandler]class=handlers.SMTPHandlerlevel=INFOformatter=simpleFormatterargs=(('smtp.163.com',25),'username@163.com',['somebody01@example.com','somebody02@example.com'],'测试SMTPHandler',('username','password'))python#邮件测试示例importloggingimportlogging.configlogging.config.fileConfig("logging.conf")logger=logging.getLogger('test')logger.info('hellobody~')