好程序員Python培訓之log日誌功能及設置方法

  好程序員Python培訓分享log日誌功能及設置方法的詳細介紹,首先引入Python中有個logging模塊可以完成相關信息的記錄,在debug使用它往往事半功倍,下面一起跟隨小編過來看看吧。

好程序員Python培訓之log日誌功能及設置方法

一、日誌級別(從低到高):

DEBUG:詳細的信息,通常只出現在診斷問題上

INFO:確認一切按預期運行

WARNING:一個跡象表明,一些意想不到的事情發生了,或表明一些問題在不久的將來(例如。磁盤空間低”)。這個軟件還能按預期工作。

ERROR:更嚴重的問題,軟件沒能執行一些功能

CRITICAL:一個嚴重的錯誤,這表明程序本身可能無法繼續運行

注:這5個等級,也分別對應5種打日誌的方法:debug、info、warning、error、critical。默認的是WARNING,當在WARNING或之上時才被跟蹤。

二、日誌輸出:顯示到控制檯或保存到文件中,可以靈活選用

# 這裡為了簡便,同時處理:輸出控制檯和保存到文件中

import logging

# 第一步,創建一個logger

logger = logging.getLogger()

logger.setLevel(logging.INFO) # Log等級總開關

# 第二步,創建一個handler,用於寫入日誌文件

logfile = './log.txt'

fh = logging.FileHandler(logfile, mode='a') # open的打開模式這裡可以進行參考

fh.setLevel(logging.DEBUG) # 輸出到file的log等級的開關

# 第三步,再創建一個handler,用於輸出到控制檯

ch = logging.StreamHandler()

ch.setLevel(logging.WARNING) # 輸出到console的log等級的開關

# 第四步,定義handler的輸出格式

formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")

fh.setFormatter(formatter)

ch.setFormatter(formatter)

# 第五步,將logger添加到handler裡面

logger.addHandler(fh)

logger.addHandler(ch)

# 日誌

logger.debug('這是 logger debug message')

logger.info('這是 logger info message')

logger.warning('這是 logger warning message')

logger.error('這是 logger error message')

logger.critical('這是 logger critical message')

三、日誌格式說明

logging.basicConfig函數中,可以指定日誌的輸出格式format,這個參數可以輸出很多有用的信息,如下:

%(levelno)s:打印日誌級別的數值

%(levelname)s:打印日誌級別名稱

%(pathname)s:打印當前執行程序的路徑,其實就是sys.argv[0]

%(filename)s:打印當前執行程序名

%(funcName)s:打印日誌的當前函數

%(lineno)d:打印日誌的當前行號

%(asctime)s:打印日誌的時間

%(thread)d:打印線程ID

%(threadName)s:打印線程名稱

%(process)d:打印進程ID

%(message)s:打印日誌信息


分享到:


相關文章: