logging.basicConfig()
是 Python 標準庫 logging
模組中的一個函式,用於配置日誌記錄器(logger)的基本選項。這個函式允許你在不建立和配置多個 logger、handler 和 formatter 的情況下,快速地為你的應用程式設定日誌記錄。
以下是一些 basicConfig()
的常見引數:
filename
: 指定日誌應寫入哪個檔案。如果指定了這個引數,日誌將被寫入檔案,而不是列印到控制檯。filemode
: 如果指定了filename
,則此引數定義檔案開啟模式(例如 'w' 表示寫入模式,'a' 表示追加模式)。預設為 'a'。format
: 定義日誌訊息的格式。預設為'%(levelname)s:%(message)s'
。datefmt
: 定義日期/時間的格式。預設情況下,日期/時間不會包含在日誌訊息中。level
: 設定日誌的級別。例如,logging.DEBUG
會記錄所有級別的日誌(包括 DEBUG、INFO、WARNING、ERROR 和 CRITICAL),而logging.WARNING
只記錄 WARNING 及以上級別的日誌。預設為logging.WARNING
。stream
: 指定日誌應寫入哪個流物件(例如,一個檔案物件或sys.stderr
)。如果指定了這個引數,則不會使用filename
引數。handlers
: 如果已經建立了處理程式(handler),則可以將它們作為此引數的列表傳遞。
下面是一個使用 logging.basicConfig()
的簡單示例:
import logging logging.basicConfig( level=logging.DEBUG, # 設定日誌級別 format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', # 設定日誌格式 datefmt='%Y-%m-%d %H:%M:%S', # 設定日期時間格式 filename='app.log', # 指定日誌檔名為 'app.log' filemode='w' # 寫入模式,'w' 表示每次執行程式時覆蓋日誌檔案,'a' 表示追加到日誌檔案 ) logger = logging.getLogger(__name__) logger.debug('這是一個除錯訊息') logger.info('這是一個資訊訊息') logger.warning('這是一個警告訊息') logger.error('這是一個錯誤訊息') logger.critical('這是一個嚴重訊息')
在這個示例中:
level=logging.DEBUG
:設定日誌級別為DEBUG
,這意味著所有DEBUG
級別或更高階別的訊息都會被記錄。format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
:指定日誌訊息的格式。datefmt='%Y-%m-%d %H:%M:%S'
:指定日誌訊息中的日期時間格式。filename='app.log'
:指定日誌訊息應該寫入名為app.log
的檔案。filemode='w'
:指定每次執行程式時覆蓋日誌檔案。使用'a'
可以將日誌追加到檔案中。
透過這種方式配置日誌記錄系統,可以輕鬆地控制日誌訊息在整個應用程式中的處理方式。