python输出彩色日志的实现

 更新时间:2026年01月17日 09:03:11   作者:t梧桐树t  
文章介绍了如何使用colorlog库为Python应用程序的日志添加颜色,从而提高日志的可读性、效率和用户体验,文章还详细说明了如何安装必要的依赖包,并提供了一个YAML格式的日志配置示例

在开发 Python 应用程序时,日志是调试、监控和追踪问题的重要工具。然而,面对大量黑白日志信息,我们常常难以快速识别关键内容。

幸运的是,借助 colorlog 这个第三方库,我们可以轻松为日志添加颜色,让不同级别的日志一目了然!

为什么需要彩色日志?

**提升可读性:**错误(ERROR)用红色、警告(WARNING)用黄色,一眼就能定位问题。

**提高效率:**在终端中快速区分日志级别,减少阅读负担。

**增强体验:**开发阶段的控制台日志更友好,尤其适合本地调试。

所需依赖

首先,确保安装以下两个包:

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:
  # 控制台处理器配置
  console:
    class: logging.StreamHandler
    level: DEBUG
    formatter: colored
    stream: ext://sys.stdout

# 日志记录器配置
loggers:
  # 测试日志记录器配置
  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')

# 测试不同级别的日志
logger.debug("这是一条调试信息")
logger.info("程序正常运行")
logger.warning("注意:这是一条警告")
logger.error("发生了一个错误")
logger.critical("严重错误!系统即将崩溃!")

运行效果

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python3多线程处理爬虫的实战

    Python3多线程处理爬虫的实战

    本文主要介绍了Python3多线程处理爬虫的实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Django开发web后端对比SpringBoot示例分析

    Django开发web后端对比SpringBoot示例分析

    这篇文章主要介绍了Django开发web后端对比SpringBoot示例分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Python使用itchat 功能分析微信好友性别和位置

    Python使用itchat 功能分析微信好友性别和位置

    这篇文章主要介绍了 Python使用itchat 功能分析微信好友性别和位置 的相关资料,需要的朋友可以参考下
    2019-08-08
  • python贪吃蛇核心功能实现上

    python贪吃蛇核心功能实现上

    我想大家都玩过诺基亚上面的贪吃蛇吧,这篇文章将带你一步步用python语言实现一个snake小游戏,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-09-09
  • Python GIL(全局解释器锁)的使用小结

    Python GIL(全局解释器锁)的使用小结

    本文主要介绍了Python GIL(全局解释器锁)的使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-11-11
  • Python使用pycharm导入pymysql教程

    Python使用pycharm导入pymysql教程

    这篇文章主要介绍了Python使用pycharm导入pymysql教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Python多线程应用于自动化测试操作示例

    Python多线程应用于自动化测试操作示例

    这篇文章主要介绍了Python多线程应用于自动化测试操作,结合实例形式分析了Python多线程基于Selenium进行自动化操作相关实现技巧,需要的朋友可以参考下
    2018-12-12
  • python使用tkinter库实现五子棋游戏

    python使用tkinter库实现五子棋游戏

    这篇文章主要为大家详细介绍了python使用tkinter库实现五子棋游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • 详解Python传入参数的几种方法

    详解Python传入参数的几种方法

    这篇文章主要介绍了Python传入参数的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • python使用cPickle模块序列化实例

    python使用cPickle模块序列化实例

    这篇文章主要介绍了python使用cPickle模块序列化的方法,是一个非常实用的技巧,需要的朋友可以参考下
    2014-09-09

最新评论