1. 程式人生 > >[python小記] logging模組SMTPhandler實現日誌郵件報警

[python小記] logging模組SMTPhandler實現日誌郵件報警

前言:一般開發中日誌會輸出到console,log file,mail中,上篇章簡述了logging模組載入yaml配置輸出到控制檯和檔案中logging模組yaml配置,本文會詳述logging如何傳送email,嗯

[1]最重要的是實現SMTPHanler的設定,簡述一下:

The SMTPHandler class, located in the logging.handlers module, supports sending logging messages to an email address via SMTP.(該類在logging.handler中,支援通過SMTP協議傳送日誌到郵箱)

其中SMTP(Simple Mail Transfer Protocol)即簡單傳輸協議,它是一組用於由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式,通過SMTP協議所指定的伺服器,就可以把E-mail寄到收信人的伺服器上了

class logging.handlers.SMTPHandler(mailhostfromaddrtoaddrssubjectcredentials=Nonesecure=Nonetimeout=1.0)

mailhost:指定的伺服器,在這裡筆者用的是smtp.163.com,port=25,兩個引數使用tuple存放('smtp.163.com',25)

fromaddr:即傳送人

toaddr:收件人,多個郵箱用list儲存['[email protected]','[email protected]']

subject:郵件主題

credentials:憑證需要你的郵箱使用者名稱和SMTP協議密碼,可以自己設定,使用者名稱密碼也是以tuple形式儲存('username','password') 注意:這裡的密碼不是郵箱登入密碼


secure:指定的安全協議,可以不用設定  timeout:傳送郵件的時間間隔

[3]程式碼如下:

errlog = logging.getLogger()
sh = logging.handlers.SMTPHandler(("smtp.163.com"
, 25), '****@163.com', ['46*****@qq.com', '*****@163.com'], "logging from my app", credentials=('******', '*****'), ) errlog.addHandler(sh) try: a = 1 / 0 except: errlog.warning("hha", exc_info=True)

[4]執行程式碼

qq和163郵箱分別收到郵件報警,搞定.


相關推薦

[python小記] logging模組SMTPhandler實現日誌郵件報警

前言:一般開發中日誌會輸出到console,log file,mail中,上篇章簡述了logging模組載入yaml配置輸出到控制檯和檔案中logging模組yaml配置,本文會詳述logging如何傳送email,嗯 [1]最重要的是實現SMTPHanler的設定,簡述

python 解決logging模組重複輸出日誌

場景:多個py檔案呼叫Logging,從主檔案匯入另外的py檔案時日誌會反覆輸出幾條原因參考:https://blog.csdn.net/huilan_same/article/details/51858817解決:將logger例項放到單獨的py檔案,其他檔案都import

Python--day29--logging模組(日誌模組)

重要程度六顆星,比如一個小視窗的廣告如果因為你沒有日誌的問題導致點選量沒有記錄下來,幾十分鐘那就會損失幾十萬了,這責任誰負得起。 希望離開一個公司是因為有了更好的去處而不是因為各種各樣的原因被開掉,那樣整個日子的心情就不好了 logging的作用: logging的五個級別: basiconf

pythonlogging模組封裝成單獨模組實現動態切換Level

查找了很多資料,但網上給出的教程都是大同小異的,而我想將程式碼進一步精簡,解耦,想實現如下兩個目標 1. 將logging模組的初始化,配置,設定等程式碼封裝到一個模組中; 2. 能根據配置切換logging.level, 網上給出的教程都是寫死的,如果我在線上之前使用了l

Pythonlogging模組

1、日誌級別 日誌級別 數值 Critical 50 Error 40 Warning 30 Info 20

pythonlogging模組的一些簡單用法

用Python寫程式碼的時候,在想看的地方寫個print xx 就能在控制檯上顯示列印資訊,這樣子就能知道它是什麼了,但是當我需要看大量的地方或者在一個檔案中檢視的時候,這時候print就不大方便了,所以Python引入了logging模組來記錄我想要的資訊。       

python 基礎logging模組自定義封裝,同時輸出到本地資料夾以及python控制檯

# coding=utf-8 import logging import os import time import logging.handlers class TestLogger(object): def __init__(self, log_

Django 中使用 logging 模組記錄系統日誌

Handlers The handler is the engine that determines what happens to each message in a logger. It describes a particular logging behavior, such as writing

logging的陷阱:python使用logging不能寫日誌,寫不出日誌

問題 我自己寫了兩個模組request和checkcode,這兩個中都引用了logging進行記錄日誌. 當分別使用request和checkcode時均沒有問題,但是,將兩個模組都匯入後,寫日誌就出現異常.總是一個能寫日誌,一個不能寫日誌. 原因

Python裡itchat模組實現什麼有趣的東西?

itchat是微信提供給python的一個介面包,其主要實現微信的基本功能,包括接發訊息、獲取好友個人資料等,要說有趣的東西,當然是註冊圖靈機器人,實現自動回覆,其次還可以基於好友資料資訊,做一些視覺化的工作,包括簽名的詞雲,性別的比例,好友的全國分佈等,下面我簡單介

zabbix3.4 實現sendEmail郵件報警

接收 主機 服務器 那是 mtp dom center dma 主機狀態 zabbix3.4實現sendEmail郵件報警 轉發:https://www.cnblogs.com/pythonal/p/7813948.html sendEmail是一個輕量級,命令行的SM

zabbix3.4實現sendEmail郵件報警

一、安裝軟體 wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz   建立目錄 mkdir /usr/local/bin 解壓軟體 tar zxf sendEmail-v1.56.t

python 指令碼監控url返回碼並郵件報警

#coding=utf-8 import requests import smtplib from smtplib import SMTP_SSL from email.mime.text import MIMEText #定義一個發郵件函式 def mail(sub,co

zabbix實現QQ郵件報警通知(最詳細)--技術流ken

  前言   前幾天搜了下網上使用zabbix郵件報警通知的文章,大多數還是使用mailx的方法,過程配置起來比較冗餘繁瑣,這幾天想著把自己平時用到的qq郵件報警的方法分享出來供大家參考,以此減少不必要的步驟。   zabbix監控端新增客戶端   關於如

python logging模組程式碼示例:實現日誌輸出到控制檯, 並且寫入日誌檔案中

import logging class Logger(object): def __init__(self, log_file_name, log_level, logger_name):

Appium-python日誌logging模組的簡介和應用(2)

Python的logging模組定義的函式和類為應用程式和庫的開發實現提供了一個靈活的事件日誌系統。   Logging模組提供了兩種記錄日誌的方式: 第一種是使用logging提供的模組級別的函式 第二種是使用logging日誌系統的四大元件 此文主要使用

python-logging模組的簡單使用:如何同時輸出到控制檯和本地日誌檔案

本文簡單記錄logging模組使用方法。參考部落格 提供兩種記錄日誌的方式: 使用logging提供的模組級別的函式 使用logging模組的四大元件 一、簡單使用——函式 下面是常用函式 logging.debug() logging.info() l

Python 日誌logging模組

  demo.py(日誌,輸出到控制檯): import logging # 匯入logging模組 # 日誌級別預設是WARNING logging.basicConfig(level=logging.WARNING, forma

Python日誌處理(logging模組

本節內容 日誌相關概念 logging模組簡介 使用logging提供的模組級別的函式記錄日誌 logging模組日誌流處理流程 使用logging四大元件記錄日誌 配置logging的幾種方式 向日志輸出中新增上下文資訊 參考文件 一、日誌相關概念 日誌是

Python日誌輸出——logging模組

1. logging介紹 Python的logging模組提供了通用的日誌系統,可以方便第三方模組或者是應用使用。這個模組提供不同的日誌級別,並可以採用不同的方式記錄日誌,比如檔案,HTTP GET/POST,SMTP,Socket等,甚至可以自己實現具體的日誌