環(huán)球速遞!Python 打印彩色日志
2022-12-31 08:36:32 來源:程序員客棧
我相信每一個開發(fā)者都有打印日志的習(xí)慣,好看的日志可以加快調(diào)試的速度,可以更好的了解程序中發(fā)生的事情。本文分享一個技巧,可以讓 Python 在控制臺輸出彩色的日志。
安裝 coloredlogspipinstallcoloredlogs使用
首先,和正常打印日志一樣,我們創(chuàng)建一個 logger
(資料圖片僅供參考)
logging.basicConfig()logger=logging.getLogger(name="mylogger")
然后,把 logger 安裝到 coloredlogs:
coloredlogs.install(logger=logger)logger.propagate=False
logger.propagate = False確保 coloredlogs 不會將我們的日志事件傳遞給根 logger,這可以防止我們重復(fù)記錄每個事件。
我們想為我們的控制臺輸出添加一些樣式,可以在這里定義:
coloredFormatter=coloredlogs.ColoredFormatter(fmt="[%(name)s]%(asctime)s%(funcName)s%(lineno)-3d%(message)s",level_styles=dict(debug=dict(color="white"),info=dict(color="blue"),warning=dict(color="yellow",bright=True),error=dict(color="red",bold=True,bright=True),critical=dict(color="black",bold=True,background="red"),),field_styles=dict(name=dict(color="white"),asctime=dict(color="white"),funcName=dict(color="white"),lineno=dict(color="white"),))
接下來就和正常使用日志一樣了,配置一個流處理器,讓日志顯示在控制臺:
ch=logging.StreamHandler(stream=sys.stdout)ch.setFormatter(fmt=coloredFormatter)logger.addHandler(hdlr=ch)logger.setLevel(level=logging.DEBUG)
接下來就可以輸入日志信息了:
logger.debug(msg="thisisadebugmessage")logger.info(msg="thisisaninfomessage")logger.warning(msg="thisisawarningmessage")logger.error(msg="thisisanerrormessage")logger.critical(msg="thisisacriticalmessage")
效果圖如下:
完整代碼如下:
importloggingimportcoloredlogsimportsys##配置loggerlogging.basicConfig()logger=logging.getLogger(name="mylogger")coloredlogs.install(logger=logger)logger.propagate=False##配置顏色coloredFormatter=coloredlogs.ColoredFormatter(fmt="[%(name)s]%(asctime)s%(funcName)s%(lineno)-3d%(message)s",level_styles=dict(debug=dict(color="white"),info=dict(color="blue"),warning=dict(color="yellow",bright=True),error=dict(color="red",bold=True,bright=True),critical=dict(color="black",bold=True,background="red"),),field_styles=dict(name=dict(color="white"),asctime=dict(color="white"),funcName=dict(color="white"),lineno=dict(color="white"),))##配置StreamHandlerch=logging.StreamHandler(stream=sys.stdout)ch.setFormatter(fmt=coloredFormatter)logger.addHandler(hdlr=ch)logger.setLevel(level=logging.DEBUG)##outputlogger.debug(msg="thisisadebugmessage")logger.info(msg="thisisaninfomessage")logger.warning(msg="thisisawarningmessage")logger.error(msg="thisisanerrormessage")logger.critical(msg="thisisacriticalmessage")最后的話
本文分享了一種輸出彩色日志的方法,感覺不錯的話,請分享給身邊的程序員們,祝編碼愉快。
關(guān)鍵詞: 正常使用
相關(guān)閱讀
-
環(huán)球速遞!Python 打印彩色日志
我相信每一個開發(fā)者都有打印日志的習(xí)慣,好看的日志可以加快調(diào)試的... -
為什么requests不是python標準庫?
在知乎上看到有人問:為什么requests不是python標準庫?這確實是部... -
Power BI 醫(yī)療器械行業(yè)銷售管理通用模板
難道一定要很多頁分析頁面才有價值嗎?非也。今天,我們發(fā)布:醫(yī)療... -
全球熱頭條丨該死,這糟糕的心動感,梅...
大家好,我是Jack。今天繼續(xù)給大家推薦一些讓人“心動”的開源項目... -
罪魁禍首
今天,除了旅游和電力勢頭較強,地產(chǎn)金融板塊能紅盤之外,其它板塊... -
每日觀點:社區(qū)10款年度優(yōu)秀游戲資源盤點!
Cocos社區(qū)年度游戲源碼TOP10以下游戲資源排名不分先后,CocosStore...