python basicConfig()簡介及用法舉例
一、什么是basicConfig?
logging.basicConfig()是 Pythonlogging模塊中最常用的配置函數(shù),用于一次性設(shè)置日志系統(tǒng)的基本參數(shù)(如日志級別、輸出格式、輸出位置等)。- 只需調(diào)用一次,后續(xù)所有日志輸出都會遵循這個配置。
二、basicConfig的常用參數(shù)
| 參數(shù) | 作用說明 | 示例值 |
|---|---|---|
| level | 設(shè)置日志級別(只顯示大于等于該級別的日志) | logging.INFO, logging.DEBUG |
| filename | 指定日志輸出到的文件名(不指定則輸出到控制臺) | ‘app.log’ |
| filemode | 文件寫入模式,默認為 ‘a’(追加),可設(shè)為 ‘w’(覆蓋) | ‘w’ |
| format | 日志輸出格式字符串 | ‘%(asctime)s - %(levelname)s - %(message)s’ |
| datefmt | 時間格式字符串 | ‘%Y-%m-%d %H:%M:%S’ |
| encoding | 文件編碼(僅當(dāng)指定 filename 時有效) | ‘utf-8’ |
三、默認行為
- 如果不調(diào)用
basicConfig(),日志系統(tǒng)有默認配置:- 日志級別為
WARNING,只顯示WARNING及以上級別的日志。 - 日志輸出到控制臺。
- 日志格式為:
LEVEL:logger_name:message,如:WARNING:root:demo
- 日志級別為
- 如果調(diào)用
basicConfig()但不傳參數(shù),效果與默認配置一致。
四、你的代碼詳解
示例1
import logging
# logging.basicConfig()
logging.warning('demo')- 這里沒有調(diào)用
basicConfig(),直接輸出一條警告日志。 - 輸出結(jié)果:
WARNING:root:demo - 只會顯示
WARNING及以上級別的日志。
示例2
import logging
logging.basicConfig() # 日志格式:格式字符
logging.warning('demo')- 這里調(diào)用了
basicConfig(),但沒有傳參數(shù),效果與默認配置一致。 - 輸出結(jié)果同上:
WARNING:root:demo
五、常見用法舉例
1. 設(shè)置日志級別
logging.basicConfig(level=logging.INFO)
logging.debug('調(diào)試信息') # 不會顯示
logging.info('普通信息') # 會顯示2. 設(shè)置日志格式
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s'
)
logging.info('日志格式演示')
輸出示例:
2024-06-08 12:00:00,123 - INFO - 日志格式演示
3. 日志寫入文件
logging.basicConfig(
filename='myapp.log',
level=logging.ERROR,
format='%(asctime)s - %(levelname)s - %(message)s',
encoding='utf-8'
)
logging.error('寫入文件的錯誤日志')六、常用格式化符號
| 占位符 | 說明 |
|---|---|
| %(asctime)s | 日志時間 |
| %(levelname)s | 日志級別 |
| %(message)s | 日志內(nèi)容 |
| %(filename)s | 文件名 |
| %(lineno)d | 行號 |
| %(name)s | 日志器名稱 |
| %(thread)d | 線程ID |
七、總結(jié)
basicConfig()用于一次性設(shè)置日志系統(tǒng)的基本參數(shù)。- 不傳參數(shù)時,效果與默認配置一致:只顯示
WARNING及以上日志,輸出到控制臺,格式為LEVEL:root:message。 - 推薦根據(jù)實際需求設(shè)置日志級別、格式和輸出位置。
到此這篇關(guān)于python basicConfig()的文章就介紹到這了,更多相關(guān)python basicConfig()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)高斯函數(shù)的三維顯示方法
今天小編就為大家分享一篇Python實現(xiàn)高斯函數(shù)的三維顯示方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
詳解python中靜態(tài)方法staticmethod用法
本文主要介紹了python中靜態(tài)方法staticmethod用法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
從基礎(chǔ)到高級詳解Python高效讀寫CSV數(shù)據(jù)實戰(zhàn)技巧
CSV文件作為一種簡單、通用的數(shù)據(jù)存儲格式,在數(shù)據(jù)分析,機器學(xué)習(xí)和大數(shù)據(jù)處理中扮演著至關(guān)重要的角色,本文將全面探討Python中處理CSV數(shù)據(jù)的各種方法,有需要的可以了解下2025-09-09
python數(shù)據(jù)結(jié)構(gòu)之圖的實現(xiàn)方法
這篇文章主要介紹了python數(shù)據(jù)結(jié)構(gòu)之圖的實現(xiàn)方法,實例分析了Python圖的表示方法與常用尋路算法的實現(xiàn)技巧,需要的朋友可以參考下2015-07-07
使用pyinstaller打包PyQt4程序遇到的問題及解決方法
今天小編就為大家分享一篇使用pyinstaller打包PyQt4程序遇到的問題及解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
Python趣味實戰(zhàn)之手把手教你實現(xiàn)舉牌小人生成器
前幾天寫了一個嬰兒級別的爬蟲圖文教程,大家很喜歡.恰好周末看到有人咨詢這個 “舉牌小人” 怎么做?基于此,我想借此為大家再寫一篇 “爬蟲應(yīng)用” 的文章,教你制作一個好玩兒的 “舉牌小人” ,需要的朋友可以參考下2021-06-06

