使用colorlog输出日志时,日志消息显示暗灰色而非白色如何解决?
解决colorlog日志消息显示暗灰色的问题
你遇到的问题是因为colorlog中的white对应终端的普通白色,在深色背景下视觉上偏暗。只需修改格式化字符串中的颜色标记即可解决:
修改方案
将格式化字符串里的%(white)s替换为%(bold_white)s(加粗亮白)或%(bright_white)s(高亮白),这两个颜色在深色终端背景下会呈现更清晰的亮白色。
修改后的代码
import logging import colorlog log_colors = { 'DEBUG': 'blue', 'INFO': 'green', 'WARNING': 'yellow', 'ERROR': 'red', 'CRITICAL': 'red,bg_white', } # 替换%(white)s为%(bold_white)s formatter = colorlog.ColoredFormatter( '%(log_color)s[%(levelname)s] %(reset)s %(bold_white)s %(message)s %(reset)s', log_colors=log_colors, ) logger = logging.getLogger('mtgenpl') logger.setLevel(logging.DEBUG) handler = logging.StreamHandler() handler.setFormatter(formatter) logger.addHandler(handler)
补充说明
bold_white:通过加粗效果提升白色的亮度,适配深色背景bright_white:直接调用终端的高亮白色渲染,部分终端中与bold_white效果一致,可根据实际显示情况选择
内容的提问来源于stack exchange,提问作者toing
相关产品推荐
相关产品推荐

