Python 打印彩色日志
我相信每一個(gè)開發(fā)者都有打印日志的習(xí)慣,好看的日志可以加快調(diào)試的速度,可以更好的了解程序中發(fā)生的事情。本文分享一個(gè)技巧,可以讓 Python 在控制臺(tái)輸出彩色的日志。
(資料圖片僅供參考)
安裝 coloredlogspipinstallcoloredlogs使用
首先,和正常打印日志一樣,我們創(chuàng)建一個(gè) logger
logging.basicConfig()logger=logging.getLogger(name="mylogger")
然后,把 logger 安裝到 coloredlogs:
coloredlogs.install(logger=logger)logger.propagate=False
logger.propagate = False確保 coloredlogs 不會(huì)將我們的日志事件傳遞給根 logger,這可以防止我們重復(fù)記錄每個(gè)事件。
我們想為我們的控制臺(tái)輸出添加一些樣式,可以在這里定義:
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"),))
接下來就和正常使用日志一樣了,配置一個(gè)流處理器,讓日志顯示在控制臺(tái):
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")最后的話
本文分享了一種輸出彩色日志的方法,感覺不錯(cuò)的話,請分享給身邊的程序員們,祝編碼愉快。
關(guān)鍵詞: 正常使用
2023-01-02 16:39:28
2023-01-02 00:27:40
2023-01-01 08:16:17
2022-12-31 16:31:33
2022-12-30 22:41:34
2022-12-30 18:51:36
2022-12-30 15:49:04
2022-12-30 10:44:36
2022-12-30 06:51:34
2022-12-29 20:15:36
2022-12-29 18:20:17
2022-12-29 14:00:55
2022-12-29 11:57:08
2022-12-29 10:04:47
2022-12-28 18:01:19
2022-12-28 14:59:58
2022-12-28 11:16:05
2022-12-28 07:56:44
2022-12-27 20:01:26
資訊
品牌
24小時(shí)熱點(diǎn)