python logging 最佳實踐

2021-06-28 05:20:06 字數 1335 閱讀 2650

# 建立乙個logger, 這裡的級別debug是總開關,控制了下面file 和console handler的級別

logger = logging.getlogger('')

logger.setlevel(logging.debug)

# 建立乙個handler,用於寫入日誌檔案, 並定義輸出格式

fh = logging.filehandler(os.path.basename(__file__).replace(".py", ".log"))

fh.setlevel(logging.debug)

ffmt = logging.formatter('%(asctime)s %(process)d %(thread)d %(levelname)s @ %(filename)s-%(lineno)d: %(message)s')

fh.setformatter(ffmt)

# 再建立乙個handler,用於輸出到控制台,僅輸出錯誤資訊

ch = logging.streamhandler()

ch.setlevel(logging.warning)

cfmt = logging.formatter('%(asctime)s %(levelname)s: %(message)s')

ch.setformatter(cfmt)

# 給logger新增handler

logger.addhandler(ch)

logger.addhandler(fh)

prod_log = logging.getlogger('prod')

prod_log.setlevel(logging.error)

#記錄日誌, 日誌檔案記錄了所有級別,控制台只記錄warning及以上等級

logger.debug('debug')

logger.info('info')

logger.warning('warning')

logger.error('error')

logger.critical('critical')

#記錄日誌,由於

prod_log.setlevel(logging.error) 語句,file 和 console 都只記錄error 以上級別的訊息

prod_log.debug('prod debug')

prod_log.info('prod info')

prod_log.warning('prod warning')

prod_log.error('prod error')

prod_log.critical('prod critical')

Python logging模組學習

import logging 日誌級別列表,預設為logging.warning levels logging.notset,logging.debug,logging.info,logging.warning,logging.error,logging.critical log format as...

python logging模組簡介

logging模組是python內建的標準模組,主要用於輸出執行日誌,可以設定輸出日誌的等級 日誌儲存路徑 日誌檔案回滾等。相對於print,該模組具有可以決定在列印什麼級別的資訊和將資訊輸出放置在什麼地方的優點。配置logging的基本設定,並在控制台輸出 import logging loggi...

python logging設定level失敗

一 問題描述 在用python開發時經常用到logging這個包,根據官方示例,如果要指定日誌級別可以寫成如下的方式。import logging logging.basicconfig level logging.info 但是在實際應用中,這種方式有時候會設定不成功,導致無法列印出info及以下...