自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python 打印彩色日志

開發(fā) 前端
我相信每一個(gè)開發(fā)者都有打印日志的習(xí)慣,好看的日志可以加快調(diào)試的速度,可以更好的了解程序中發(fā)生的事情。本文分享一個(gè)技巧,可以讓 Python 在控制臺(tái)輸出彩色的日志。


安裝 coloredlogs

pip install coloredlogs

使用

首先,和正常打印日志一樣,我們創(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="this is a debug message")
logger.info(msg="this is an info message")
logger.warning(msg="this is a warning message")
logger.error(msg="this is an error message")
logger.critical(msg="this is a critical message")

效果圖如下:

圖片

完整代碼如下:

import logging
import coloredlogs
import sys


## 配置 logger
logging.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'),
)
)

## 配置 StreamHandler
ch = logging.StreamHandler(stream=sys.stdout)
ch.setFormatter(fmt=coloredFormatter)
logger.addHandler(hdlr=ch)
logger.setLevel(level=logging.DEBUG)

## output
logger.debug(msg="this is a debug message")
logger.info(msg="this is an info message")
logger.warning(msg="this is a warning message")
logger.error(msg="this is an error message")
logger.critical(msg="this is a critical message")
責(zé)任編輯:武曉燕 來源: Python七號(hào)
相關(guān)推薦

2011-04-29 10:36:40

彩色照片打印誤區(qū)

2011-11-11 21:23:02

打印機(jī)應(yīng)用技巧

2011-04-29 17:16:55

富士施樂SLED彩色打印技術(shù)

2012-02-01 15:14:03

惠普噴墨打印機(jī)

2011-08-02 14:51:23

愛普生大幅打印機(jī)

2011-05-06 10:52:16

彩色激光打印機(jī)選購指南

2011-08-14 23:26:30

激光打印機(jī)常見問題

2011-06-14 22:25:05

OKI激光打印機(jī)

2011-09-01 17:08:46

愛普生噴墨打印機(jī)

2011-05-07 09:26:13

大幅面彩色噴墨打印機(jī)打印頭保養(yǎng)

2011-07-05 11:18:21

噴墨打印解決方案

2011-06-21 10:00:39

惠普打印機(jī)行情

2011-05-03 17:09:15

彩色照片打印誤區(qū)

2011-11-23 13:13:59

惠普激光打印機(jī)

2021-01-15 19:10:32

日志打印原則

2021-03-04 09:11:57

日志開發(fā)打印

2011-05-07 10:16:34

彩色激光打印機(jī)感光方式成像原理

2011-05-06 14:53:50

照片打印打印誤區(qū)

2012-05-03 11:45:06

佳能激光打印機(jī)

2012-02-24 15:31:32

打印機(jī)行情
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)