Python--logging日誌模組

來源:互聯網
上載者:User

標籤:名稱   時間   error   資料   too   匯入   close   root   handler   

用於便捷記錄日誌且安全執行緒的模組

 

單檔案日誌

basicConfig()模組函數

功能:建立記錄檔和寫記錄模式【有參】

使用方法:模組名稱.basicConfig(filename="記錄檔名稱",format="(日期時間),(許可權使用者),(寫入等級),(產生記錄檔名稱),(日誌內容)",datefmt="日期時間格式",level="日誌等級")

格式如:logging.basicConfig(filename=‘log.log‘,format=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s‘,datefmt=‘%Y-%m-%d %H:%M:%S %p‘,level=logging.WARNING)

內建等級寫入函數【有參寫入的內容】

critical()模組函數,critical等級寫入日誌
fatal()模組函數,fatal等級寫入日誌
error()模組函數,error等級寫入日誌
warning()模組函數,warning等級寫入日誌
warn()模組函數,warn等級寫入日誌
info()模組函數,info等級寫入日誌
debug()模組函數,debug等級寫入日誌

等級對照表
CRITICAL = 50
FATAL = CRITICAL
ERROR = 40
WARNING = 30
WARN = WARNING
INFO = 20
DEBUG = 10

#!/usr/bin/env python# -*- coding:utf8 -*-import logginglogging.basicConfig(filename=‘log.log‘,                    format=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s‘,#(日期時間),(許可權使用者),(寫入等級),(產生記錄檔名稱),(日誌內容)                    datefmt=‘%Y-%m-%d %H:%M:%S %p‘,#日期時間格式                    level=logging.WARNING)#日誌等級,日誌等級要求大寫# 等級對照表# CRITICAL = 50# FATAL = CRITICAL# ERROR = 40# WARNING = 30# WARN = WARNING# INFO = 20# DEBUG = 10#注意:寫入等級大於日誌等級,才寫入日誌資料# 寫入等級,寫入日誌logging.critical(‘sss‘)#寫入日誌,寫入等級要求小寫logging.fatal("333")#寫入日誌,寫入等級要求小寫logging.error("2222")#寫入日誌,寫入等級要求小寫logging.warning("5555")#寫入日誌,寫入等級要求小寫logging.warn("999")#寫入日誌,寫入等級要求小寫logging.info("598")#寫入日誌,寫入等級要求小寫logging.debug("5646")#寫入日誌,寫入等級要求小寫#log日誌寫入資料# 2016-09-06 15:10:38 PM - root - CRITICAL -index:  sss# 2016-09-06 15:10:38 PM - root - CRITICAL -index:  333# 2016-09-06 15:10:38 PM - root - ERROR -index:  2222# 2016-09-06 15:10:38 PM - root - WARNING -index:  5555# 2016-09-06 15:10:38 PM - root - WARNING -index:  999#以上可以看出,寫入等級大於日誌等級,才寫入日誌資料

 

log()模組函數

功能:自訂寫入等級,寫入日誌【有參】

使用方法:模組名稱.log(寫入等級數,"寫入內容")

格式如:logging.log(40,‘log‘)

#!/usr/bin/env python# -*- coding:utf8 -*-import logginglogging.basicConfig(filename=‘log.log‘,                    format=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s‘,#(日期時間),(許可權使用者),(寫入等級),(產生記錄檔名稱),(日誌內容)                    datefmt=‘%Y-%m-%d %H:%M:%S %p‘,#日期時間格式                    level=logging.WARNING)#日誌等級,日誌等級要求大寫# 等級對照表# CRITICAL = 50# FATAL = CRITICAL# ERROR = 40# WARNING = 30# WARN = WARNING# INFO = 20# DEBUG = 10#注意:寫入等級大於日誌等級,才寫入日誌資料# 自訂寫入等級,寫入日誌logging.log(40,‘log‘)

 

多檔案日誌(推薦)

FileHandler()模組函數

功能:開啟或建立記錄檔【有參】

使用方法:模組名稱.FileHandler("檔案路徑名稱","開啟模式",encoding=‘字元編碼‘)

格式如:logging.FileHandler(‘l1_1.log‘, ‘a‘, encoding=‘utf-8‘)

Formatter()模組函數

功能:建立日誌寫入格式【有參】

使用方法:模組名稱.Formatter(fmt="%(日期和時間)s - %(日誌等級名稱)s - %(寫入等級名稱)s -%(產生日誌程式名稱)s:  %(日誌內容)s")

格式如:logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s")

setFormatter()模組函數

功能:將日誌寫入格式應用到,開啟檔案【有參】

使用方法:開啟記錄檔變數.setFormatter(建立日誌寫入格式變數)

格式如:file_1_1.setFormatter(fmt)

Logger()模組函數

功能:建立日誌等級,注意這個日誌等級可以參照等級對照表來設定,要求大寫【有參】

使用方法:模組名稱.Logger("自訂日誌等級名稱",level=日誌等級參數)

格式如:logging.Logger(‘s1‘, level=logging.ERROR)

addHandler()模組函數

功能:將日誌等級追加到開啟的檔案【有參】

使用方法:建立日誌等級變數.addHandler(開啟記錄檔變數)

格式如:logger1.addHandler(file_1_1)

close()模組函數

功能:關閉開啟的記錄檔【無參】

使用方法:開啟記錄檔變數.close()

格式如:file_1_1.close()

#!/usr/bin/env python# -*- coding:utf8 -*-import logging #匯入模組# 定義檔案1file_1_1 = logging.FileHandler(‘l1_1.log‘, ‘a‘, encoding=‘utf-8‘)#以a模式開啟或建立記錄檔fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s")#建立日誌寫入格式file_1_1.setFormatter(fmt)#將日誌寫入格式應用到,開啟檔案# 定義檔案2file_1_2 = logging.FileHandler(‘l1_2.log‘, ‘a‘, encoding=‘utf-8‘)#以a模式開啟或建立記錄檔fmt = logging.Formatter(fmt="%(message)s")#建立日誌寫入格式file_1_2.setFormatter(fmt)#將日誌寫入格式應用到,開啟檔案# 定義日誌logger1 = logging.Logger(‘s1‘, level=logging.ERROR)#建立日誌等級,注意這個日誌等級可以參照等級對照表來設定,要求大寫logger1.addHandler(file_1_1)#將日誌等級追加到開啟的檔案logger1.addHandler(file_1_2)#將日誌等級追加到開啟的檔案# 寫日誌logger1.critical(‘1111‘) #寫入等級函數寫入日誌,注意這個寫入等級函數參照等級對照表來設定,要求小寫,也可以用log()模組函數來自訂等級,參照log()模組函數file_1_1.close()#關閉開啟的記錄檔file_1_2.close()#關閉開啟的記錄檔#這樣就將一個日誌資料同時寫入兩個記錄檔,注意:要將日誌資料寫入幾個記錄檔,就按照上面操作開啟幾個記錄檔

Python--logging日誌模組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.