如何在Python中設定郵件發送日誌?

PHPz
發布: 2023-04-26 17:28:08
轉載
1661 人瀏覽過

如何在Python中設定郵件發送日誌?

前幾有人在群組裡問,說了一些關於Python設定郵件發送日誌,我感覺挺漲知識的,所以在這裡就記錄一下以便日後自己使用避坑。

  • 我們可以使用Python的logging.handlers.SMTPHandler方法,把日誌傳送到指定的郵件信箱。之前使用 163 郵箱設定參數之後可以放心使用,但是使用QQ的企業郵箱卻一直報錯,總是說登入逾時。

如何在Python中設定郵件發送日誌?

最後透過閱讀logging的原始碼找到了原因,logging預設支援TLS連接,QQ企業信箱和Gmail都是使用SSL連接的。

如何在Python中設定郵件發送日誌?

  • 最後附上一個簡單的設定
# 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 ~')
登入後複製


#

以上是如何在Python中設定郵件發送日誌?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!