Python配置郵件發(fā)送日志
前幾天有人在群里問,說了一些關(guān)于Python配置郵件發(fā)送日志,我感覺挺漲知識的,所以在這里就記錄一下以便日后自己使用避坑。
前幾有人在群里問,說了一些關(guān)于Python配置郵件發(fā)送日志,我感覺挺漲知識的,所以在這里就記錄一下以便日后自己使用避坑。
- 我們可以使用Python的logging.handlers.SMTPHandler方法,把日志發(fā)送到指定的郵箱。之前使用 163 郵箱配置參數(shù)之后可以放心使用,但是使用QQ的企業(yè)郵箱卻一直報(bào)錯(cuò),總是說登錄超時(shí)。
最后通過閱讀logging的源碼找到了原因,logging默認(rèn)支持TLS連接,QQ企業(yè)郵箱和Gmail都是使用SSL連接的。
- 最后附上一個(gè)簡單的配置
# 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
# 郵件測試?yán)?br>import logging
import logging.config
logging.config.fileConfig("logging.conf")
logger = logging.getLogger('test')
logger.info('hello body ~')
責(zé)任編輯:龐桂玉
來源:
馬哥Linux運(yùn)維