在日常的python的**編寫中,log的輸出可以幫助我們了解python的運**況,logging庫提供了在python中方便寫log的方法。
log輸出到螢幕的**如下:
#!/usr/local/bin/python
#-*- coding:utf-8 -*-
import logging
count = 1
logging.basicconfig(level=logging.debug)
logging.debug("test case: %d" % count)
logging.info(2)
logging.warn("test case: %d" % count)
logging.error(4)
logging.critical(5)
值得注意的是,logging對輸出的資訊由低到高分為了5類等級,分別是debug,info,warn,error,critical,只有當前的輸出等級不小於在logging.basicconfig中設定的level引數才能輸出。
log輸出到檔案的**如下:
#!/usr/local/bin/python
#-*- coding:utf-8 -*-
import logging
if "__main__" == __name__:
logger = logging.getlogger("test") # 定義乙個logger
log_path = "./log.txt"
# 輸出的檔案位置
fh = logging.filehandler(log_path, mode="w") # 定義乙個檔案的logger handler, 模式預設為在尾部新增,"w"會先刪除內容,然後再寫log
fh.setlevel(logging.warn) # 設定輸出的級別,只有級別不低於該級別的才會輸出
# 建立輸出格式
fmt = "%(asctime)s %(filename)s[line:%(lineno)d]: %(levelname)s %(message)s"
datefmt = "%a %d %b %y %h:%m:%s"
formatter = logging.formatter(fmt, datefmt) # 獲得輸出格式物件
fh.setformatter(formatter) # 為handler設定輸出的格式
logger.addhandler(fh) # 為logger指定handler
logger.debug("debug message")
logger.warn("warn essage")
logger.error("error message")
執行後在log.txt檔案中會看到warn和error輸出的資訊,而沒有debug的資訊 Logging模組的使用
logging模組,針對日誌操作的模組 logging模組可替代print函式的功能,並能將標準輸出輸入到日誌檔案儲存起來 且利用logging模組可部分替代debug功能 logging模組中有6個級別,分別是 notset 0debug 10info 20warning 30error 40cr...
logging模組的使用
coding utf 8 import os import time import logging import sys log dir1 os.path.join os.path.dirname os.path.dirname file logs today time.strftime y m d...
使用python的logging模組
一 從乙個使用場景開始 開發乙個日誌系統,既要把日誌輸出到控制台,還要寫入日誌檔案 import logging 建立乙個logger logger logging.getlogger mylogger logger.setlevel logging.debug 建立乙個handler,用於寫入日誌...