Python配置邮件发送日志

开发 后端
前几天有人在群里问,说了一些关于Python配置邮件发送日志,我感觉挺涨知识的,所以在这里就记录一下以便日后自己使用避坑。

前几有人在群里问,说了一些关于Python配置邮件发送日志,我感觉挺涨知识的,所以在这里就记录一下以便日后自己使用避坑。

  • 我们可以使用Python的logging.handlers.SMTPHandler方法,把日志发送到指定的邮箱。之前使用 163 邮箱配置参数之后可以放心使用,但是使用QQ的企业邮箱却一直报错,总是说登录超时。

最后通过阅读logging的源码找到了原因,logging默认支持TLS连接,QQ企业邮箱和Gmail都是使用SSL连接的。

  • 最后附上一个简单的配置
# logging.conf完整配置
[loggers]
keys=root,test
[handlers]
keys=consoleHandler,fileHandler,testHandler
[formatters]
keys=simpleFormatter
[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s - [%(filename)s:%(lineno)s]
datefmt=
[logger_root]
level=INFO
handlers=consoleHandler,fileHandler
[logger_test]
level=INFO
handlers=testHandler
qualname=test
propagate=0
[handler_consoleHandler]
class=StreamHandler
level=INFO
formatter=simpleFormatter
args=(sys.stdout,)
[handler_fileHandler]
class=FileHandler
level=INFO
formatter=simpleFormatter
args=('log/spider_db.log', 'a')
[handler_testHandler]
class=handlers.SMTPHandler
level=INFO
formatter=simpleFormatter
args=(('smtp.163.com',25), 'username@163.com', ['somebody01@example.com','somebody02@example.com'], 'Test SMTPHandler', ('username', 'password'))
python
# 邮件测试例子
import logging
import logging.config
logging.config.fileConfig("logging.conf")
logger = logging.getLogger('test')
logger.info('hello body ~')


责任编辑:庞桂玉 来源: 马哥Linux运维
相关推荐

2017-04-26 09:00:23

Python发送邮件脚本

2021-02-18 07:46:07

日志框架

2022-09-02 15:08:02

Python邮件发送

2022-07-08 09:01:36

logback日志异常

2023-12-06 11:10:08

2020-07-14 09:58:01

Python开发工具

2020-07-27 16:52:59

Mailmerge定制邮件系统应用

2010-03-03 10:18:17

Python发送邮件

2021-06-29 11:40:51

Python邮件命令

2009-12-14 17:23:31

2011-04-07 15:56:24

2010-06-30 12:37:04

SNMP服务器

2011-04-07 16:08:16

日志信息路由器Cisco IOS

2021-06-11 06:54:34

程序邮件Django

2020-02-20 14:40:53

Vim邮件开源

2011-01-19 14:32:17

Thunderbird设置

2009-08-04 09:39:11

2009-12-02 16:38:26

PHP发送邮件函数

2011-08-02 11:30:41

iOS开发 邮件发送

2010-05-06 09:52:11

Oracle发送邮件
点赞
收藏

51CTO技术栈公众号