python輸出彩色日志的實(shí)現(xiàn)
在開(kāi)發(fā) Python 應(yīng)用程序時(shí),日志是調(diào)試、監(jiān)控和追蹤問(wèn)題的重要工具。然而,面對(duì)大量黑白日志信息,我們常常難以快速識(shí)別關(guān)鍵內(nèi)容。
幸運(yùn)的是,借助 colorlog 這個(gè)第三方庫(kù),我們可以輕松為日志添加顏色,讓不同級(jí)別的日志一目了然!
為什么需要彩色日志?
**提升可讀性:**錯(cuò)誤(ERROR)用紅色、警告(WARNING)用黃色,一眼就能定位問(wèn)題。
**提高效率:**在終端中快速區(qū)分日志級(jí)別,減少閱讀負(fù)擔(dān)。
**增強(qiáng)體驗(yàn):**開(kāi)發(fā)階段的控制臺(tái)日志更友好,尤其適合本地調(diào)試。
所需依賴(lài)
首先,確保安裝以下兩個(gè)包:
pip install colorlog pyyaml
- colorlog:提供帶顏色的日志格式化器
- pyyaml:用于加載 YAML 格式的配置文件。
日志配置詳解(YAML)
# 日志配置文件
# 配置日志版本、格式化器、處理器、日志記錄器和根日志記錄器
version: 1
disable_existing_loggers: false
# 格式化器配置
formatters:
# 彩色格式化器配置
colored:
(): colorlog.ColoredFormatter
format: "%(log_color)s%(asctime)s - %(name)s - %(levelname)s - %(message)s"
log_colors:
DEBUG: cyan
INFO: green
WARNING: yellow
ERROR: red
CRITICAL: red,bg_white
# 處理器配置
handlers:
# 控制臺(tái)處理器配置
console:
class: logging.StreamHandler
level: DEBUG
formatter: colored
stream: ext://sys.stdout
# 日志記錄器配置
loggers:
# 測(cè)試日志記錄器配置
log_test:
level: DEBUG
handlers: [console]
propagate: no
# 根日志記錄器配置
root:
level: INFO
handlers: [console]
加載配置并使用日志器
import logging.config
import yaml
# 加載 YAML 配置
with open('logging.yml', 'r', encoding='utf-8') as f:
config = yaml.safe_load(f.read())
logging.config.dictConfig(config)
# 獲取自定義日志器
logger = logging.getLogger('log_test')
# 測(cè)試不同級(jí)別的日志
logger.debug("這是一條調(diào)試信息")
logger.info("程序正常運(yùn)行")
logger.warning("注意:這是一條警告")
logger.error("發(fā)生了一個(gè)錯(cuò)誤")
logger.critical("嚴(yán)重錯(cuò)誤!系統(tǒng)即將崩潰!")
運(yùn)行效果

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于pycharm中pip版本10.0無(wú)法使用的解決辦法
近期在利用 pycharm 安裝第三方庫(kù)時(shí)會(huì)提示 pip 不是最新版本, 因此對(duì) pip 進(jìn)行更新,但是生成最新版本之后, pip 中由于缺少 main 函數(shù),導(dǎo)致在 pycharm 中無(wú)法自動(dòng)安裝第三方庫(kù)。本文就介紹一下如何解決2019-10-10
在python Numpy中求向量和矩陣的范數(shù)實(shí)例
今天小編就為大家分享一篇在python Numpy中求向量和矩陣的范數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
django多個(gè)APP的urls設(shè)置方法(views重復(fù)問(wèn)題解決)
今天小編就為大家分享一篇django多個(gè)APP的urls設(shè)置方法(views重復(fù)問(wèn)題解決),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
python判斷計(jì)算機(jī)是否有網(wǎng)絡(luò)連接的實(shí)例
今天小編就為大家分享一篇python判斷計(jì)算機(jī)是否有網(wǎng)絡(luò)連接的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
python不到50行代碼完成了多張excel合并的實(shí)現(xiàn)示例
這篇文章主要介紹了python不到50行代碼完成了多張excel合并的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05

