1. 程式人生 > 程式設計 >python logging日誌模組原理及操作解析

python logging日誌模組原理及操作解析

一、基本介紹

logging 模組是python自帶的一個包,因此在使用的時候,不必安裝,只需要import即可。

logging有 5 個不同層次的日誌級別,可以將給定的 logger 配置為這些級別:

  •     DEBUG:詳細資訊,用於診斷問題。Value=10。
  •     INFO:確認程式碼執行正常。Value=20。
  •     WARNING:意想不到的事情發生了,或預示著某個問題。但軟體仍按預期執行。Value=30。
  •     ERROR:出現更嚴重的問題,軟體無法執行某些功能。Value=40。
  •     CRITICAL:嚴重錯誤,程式本身可能無法繼續執行。Value=50。

二、基本操作

主要呼叫logging.basicConfig(***kwargs*)這個函式對logging進行設定。函式常用的引數如下:

  •     level:主要調整logging的級別
  •     filename:輸出日誌的路徑
  •     filemode:直接寫入還是追加寫入
  •     format:輸出的格式

示例一:通過調整format,可以輸出我們想要的格式

 import logging
 
 logging.basicConfig(format='%(asctime)s - %(message)s',datefmt='%d-%b-%y %H:%M:%S')
 logging.warning('Admin logged out')

結果:

12-Jul-18 20:53:19 - Admin logged out

示例二:logging寫多檔案日誌

#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
logging模組寫多檔案日誌
"""

import logging

#建立檔案
file_1 = logging.FileHandler('log_1.log','a')
#建立格式
fat = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s - %(module)s - %(message)s")
#檔案應用格式
file_1.setFormatter(fat)

file_2 = logging.FileHandler('log_2.log','a')
fmt = logging.Formatter()
file_2.setFormatter(fmt)

logger1 = logging.Logger('s1',level=logging.ERROR)

logger1.addHandler(file_1)
logger1.addHandler(file_2)

#寫日誌
logger1.critical("i'm a error!")

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。