logging模組是python內建的標準模組,主要用於輸出執行日誌,可以設定輸出日誌的等級、日誌儲存路徑、日誌檔案回滾等;相比print,具備如下優點:
python 使用logging模組記錄日誌涉及四個主要類,使用官方文件中的概括最為合適:
模組級函式
基本使用
配置logging基本的設定,然後在控制台輸出日誌:
import logging
logging.basicconfig(level = logging.info,
format
='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)logger = logging.getlogger(__name__)
logger.info(
"start print log"
)logger.debug(
"do something"
)logger.warning(
"something maybe fail."
)logger.info(
"finish"
)
輸出:
2018-06
-1015:
09:03,
001- __main__ - info - start print log
2018-06
-1015:
09:03,
015- __main__ - warning - something maybe fail.
2018-06
-1015:
09:03,
017- __main__ - info - finish
logging中可以選擇很多訊息級別,如debug、info、warning、error以及critical。通過賦予logger或者handler不同的級別,開發者就可以只輸出錯誤資訊到特定的記錄檔案,或者在除錯時只記錄除錯資訊 例如,我們將logger的級別改為debug,再觀察一下輸出結果:
import logging
logging.basicconfig(level = logging.debug,
format
='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)logger = logging.getlogger(__name__)
logger.info(
"start print log"
)logger.debug(
"do something"
)logger.warning(
"something maybe fail."
)logger.info(
"finish"
)
輸出:
2018-06
-1015:
13:07,
300- __main__ - info - start print log
2018-06
-1015:
13:07,
315- __main__ - debug - do something
2018-06
-1015:
13:07,
318- __main__ - warning - something maybe fail.
2018-06
-1015:
13:07,
325- __main__ - info - finish
控制台輸出,可以發現,輸出了debug的資訊。
logging.basicconfig函式各引數:
filename:指定日誌檔名;
filemode:和file函式意義相同,指定日誌檔案的開啟模式,『w』或者』a』;
format:指定輸出的格式和內容,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:列印日誌資訊
datefmt:指定時間格式,同time.strftime();
level:設定日誌級別,預設為logging.warnning;
stream:指定將日誌的輸出流,可以指定輸出到sys.stderr,sys.stdout或者檔案,預設輸出到sys.stderr,當stream和filename同時指定時,stream被忽略;
參考 (更高階一點的用法參考這本書)
(這個寫的很好,參考這個)
python內建模組 Python 內建模組
內建模組 python有一套很有用的標準庫 standard library 標準庫會隨著python直譯器,一起安裝在你的電腦中的。它是python的 乙個組成部分。這些標準庫是python為你準備好的利器,可以讓程式設計事半功倍。常用標準庫 標準庫 說明 builtins 內建函式預設載入 os...
Python的內建模組
1 導包 導模組 import 模組名稱 包名稱 以os模組為例 通過dir 可以檢視該模組下的所有命令 import 包名稱 as 以os.path模組為例 給os.path重新命名,加快導包速度。from 包名稱 import 建議使用方法 以os.path模組為例 2 os模組 os.cpu ...
Python內建模組
os.remove 刪除檔案 os.unlink 刪除檔案 os.rename 重新命名檔案 os.listdir 列出指定目錄下所有檔案 os.curdir 返回當前目錄 os.pardir 獲取當前目錄的父目錄字串名 os.chdir 改變當前工作目錄 os.getcwd 獲取當前檔案路徑 os...