python日志添加功能,主要記錄程序運行中的日志,統一收集並分析


轉自:https://www.cnblogs.com/jsondai/p/9663633.html

一、日志的級別

debug(調試信息) info() warning(警告信息)error(錯誤信息) critical(致命信息)  從左往右越來越嚴重
日志等級(level) 描述
DEBUG 最詳細的日志信息,典型應用場景是 問題診斷
INFO 信息詳細程度僅次於DEBUG,通常只記錄關鍵節點信息,用於確認一切都是按照我們預期的那樣進行工作
WARNING 當某些不期望的事情發生時記錄的信息(如,磁盤可用空間較低),但是此時應用程序還是正常運行的
ERROR 由於一個更嚴重的問題導致某些功能不能正常運行時記錄的信息
CRITICAL 當發生嚴重錯誤,導致應用程序不能繼續運行時記錄的信息
注意,系統只顯示warning(警告信息)級別以上的日志,例如我們輸入一下代碼:
import logging
logging.debug('這是個debug級別的信息')#輸出時被過濾掉了
logging.info('這是個info級別的信息')#輸出時被過濾掉了
logging.warning('這是個warning級別的信息')
logging.error('這是個error級別的信息')
logging.critical('這是個critical級別的信息')

控制台輸出

代碼寫的是5行數據,實際在控制台只有3行,那是因為系統默認輸出 warning(警告)及以上的日志。  

如果需要全部展示,需要調用

logging.basicConfig(level=logging.DEBUG) #basicConfig基礎配置 可以輸入關鍵字參數,level是等級的意思 logging.DEBUG級別必須大寫  如果是調用函數就需要小寫

在level那里展示指定級別。 加上 logging.basicConfig 之后運行,結果如下,能全部展示出來了

 

二、日志格式化輸出

 將日志輸出到控制台或者文件中

fp = logging.FileHandler('a.txt', encoding='utf-8')   #將日志記錄到文件中
fs = logging.StreamHandler()     #將日志輸出到控制台

放在handler中進行調用 

復制代碼
import logging
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"    # 日志格式化輸出
DATE_FORMAT = "%m/%d/%Y %H:%M:%S %p"                        # 日期格式
fp = logging.FileHandler('a.txt', encoding='utf-8')
fs = logging.StreamHandler()
logging.basicConfig(level=logging.DEBUG, format=LOG_FORMAT, datefmt=DATE_FORMAT, handlers=[fp, fs])    # 調用


logging.debug("This is a debug log.哈哈")
logging.info("This is a info log.")
logging.warning("This is a warning log.")
logging.error("This is a error log.")
logging.critical("This is a critical log.")
復制代碼

控制台和文件中就都能展示日志了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM