一步步教你怎么通过python logging板块发送日志

以qq邮箱为例

step 1开启smpt

  • 1.1打开邮箱

在这里插入图片描述

  • 1.2. 点击设置

在这里插入图片描述在这里插入图片描述

  • 1.3 开启smpt

注意需要手机验证,验证后保存弹出的安全密码,后面要用。
在这里插入图片描述

  • step2.导入logging 包
import logging
from logging.handlers import SMTPHandler
import sys
  • step3配置信息
# 1. 创建 logger 实例
logger = logging.getLogger('TEST_SMTP')
# 2. 设置 logger 实例的日志级别,默认是 logging.WARNING
logger.setLevel(logging.INFO)
# 3. 创建 Handler
mail_handler = SMTPHandler(
    mailhost=('smtp.qq.com', 25),
    fromaddr='1512784113@qq.com',
    toaddrs='1512784113@qq.com',
    subject='SOMETHING WRONG!!!',
    credentials=('1512784113@qq.com', 'step1.3中弹出的安全密码'),
    timeout=5.0)
# 4. 单独设置 mail_handler 的日志级别为 ERROR
mail_handler.setLevel(logging.ERROR)
    mail_handler.setLevel(logging.ERROR)
# 5. 将 Handler 添加到 logger 中
logger.addHandler(mail_handler)
# 6. 应用(故意出错)
try:
    x = 1 / 0
except Exception:
    logger.error('[calculation wrong] x = 1 / 0', exc_info=sys.exc_info())

完整代码

import logging
from logging.handlers import SMTPHandler
import sys


def main():
    # 1. 创建 logger 实例
    logger = logging.getLogger('TEST_SMTP')
    # 2. 设置 logger 实例的日志级别,默认是 logging.WARNING
    logger.setLevel(logging.INFO)
    # 3. 创建 Handler
    # 注意 163 邮箱要求 fromaddr 和你发送邮件的邮箱(即你的邮箱账号)要一致
    mail_handler = SMTPHandler(
        mailhost=('smtp.qq.com', 25),
        fromaddr='1512784013@qq.com',
        toaddrs='1512784013@qq.com',
        subject='SOMETHING WRONG!!!',
        credentials=('1512784013@qq.com', 'tpgowsyzkcirbacj'),
        timeout=5.0)
    # 4. 单独设置 mail_handler 的日志级别为 ERROR
    mail_handler.setLevel(logging.ERROR)
    # 5. 将 Handler 添加到 logger 中
    logger.addHandler(mail_handler)
    # 6. 应用(故意出错)
    try:
        x = 1 / 0
    except Exception:
        logger.error('[calculation wrong] x = 1 / 0', exc_info=sys.exc_info())


if __name__ == '__main__':
    main()

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值