python日誌模組 Logging

2022-04-11 01:27:35 字數 2481 閱讀 9894

為了在控制台規範的列印

import logging

# 日誌配置

logging.basicconfig(level=logging.info, format='[%(asctime)s] - %(levelname)s in %(filename)s: %(message)s')

# 獲取日誌器

logger = logging.getlogger(__name__)

寫入檔案的日誌配置。

1. 旋轉日誌配置

寫入檔案,並且可以規定最大大小,自動滾動刪除日誌。

from logging.handlers import rotatingfilehandler

import logging

# handler類,旋轉檔案日誌,日誌檔名,100mb,10個檔案滾動

handler = rotatingfilehandler(filename='logs.log', maxbytes=100 * 1024 * 1024, backupcount=10)

# formatter類

formatter = logging.formatter('[%(asctime)s] - %(levelname)s in %(filename)s: %(message)s')

handler.setformatter(formatter) # 新增格式化例項

# 獲取日誌器

logger = logging.getlogger(__name__)

logger.addhandler(handler)

logger.setlevel(logging.info) # 設定告警等級

2. 控制台列印日誌

可以同時寫檔案也在控制台列印,主要是看選擇哪些handler。

console = logging.streamhandler()

logger.addhandler(console) # 額外新增乙個handler

import logging

from scrapy.utils.log import configure_logging

configure_logging(install_root_handler=false)

logging.basicconfig(

filename='scrapy_log.txt',

format='%(levelname)s: %(message)s',

level=logging.info

)

等級依次增高

logging.debug('debug message')

logging.info('info message')

logging.warn('warn message')

logging.error('error message')

logging.critical('critical message')

import logging

import os

from logging.handlers import rotatingfilehandler

# 日誌路徑

log_path = 'log/'

# 日誌等級

log_level =

def set_logger(log_name, level):

"""設定並返回日誌器

:param log_name:

:param level:

:return:

"""if not os.path.exists(log_path):

os.makedirs(log_path)

# handler類,旋轉檔案日誌,日誌檔名,100mb,5個檔案滾動

handler = rotatingfilehandler(filename=log_path + '{}.log'.format(log_name), maxbytes=300 * 1024 * 1024,

backupcount=5, encoding='utf-8')

# formatter類

formatter = logging.formatter('[%(asctime)s] - %(levelname)s in %(filename)s %(funcname)s: %(message)s')

handler.setformatter(formatter) # 新增格式化例項

# 獲取日誌器

logger = logging.getlogger(log_name)

logger.addhandler(handler)

logger.setlevel(log_level.get(level, logging.info)) # 設定告警等級

return logger

PythonStudy 日誌模組 logging

日誌 日之石日常的流水,將程式執行過程中的狀態或資料盡心記錄,一般是記錄到日誌檔案當中的。在正常的專案之中,專案的執行的一些列印資訊,採用logging列印到檔案當中,這個過程就稱作為 日誌記錄模組 以下為預設的操作日誌模組 匯入日誌模組 import logging logging為預設列印者,是...

python日誌模組

logging.debug 10 logging.info 20 logging.warning 30 logging.error 40 logging.critical 50預設級別為warning 預設輸出位置為控制台 import logging logging.basicconfig 可用引...

python 日誌模組

在軟體或者系統發生錯誤時可以通過日誌快速定位到錯誤,從而定位問題,解決問題。logging模組提供的日誌記錄函式所使用的日誌器設定的日誌級別是warning,因此只有warning級別的日誌記錄以及大於它的error和critical級別的日誌記錄被輸出了,而小於它的debug和info級別的日誌記...