python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python输出彩色日志

python输出彩色日志的实现

作者:t梧桐树t

文章介绍了如何使用colorlog库为Python应用程序的日志添加颜色,从而提高日志的可读性、效率和用户体验,文章还详细说明了如何安装必要的依赖包,并提供了一个YAML格式的日志配置示例

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

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

为什么需要彩色日志?

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

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

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

所需依赖

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

pip install colorlog pyyaml

日志配置详解(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("严重错误!系统即将崩溃!")

运行效果

总结

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

您可能感兴趣的文章:
阅读全文