Python - 实现logging根据日志级别输出不同颜色

  • 前段时间因为工作需要脚本打印不同颜色的日志。查找了网上的一些方法,大部分都需要再安装第三方模块。
  • 后来选择采用比较简易的办法,类似于print()函数自定义内容颜色
  • 这种方式的缺陷是只修改了日志内容的颜色。可以根据自身的需求选择使用哪种方式。

一、完整代码

#!/usr/bin/python
# -*- coding:utf-8 -*-

import logging


class LogColor:
    """
    根据不同的日志级别,打印不颜色的日志
    info:绿色
    warning:黄色
    error:红色
    debug:灰色
    """
    # logging日志格式设置
    logging.basicConfig(level=logging.DEBUG,
                        format='%(asctime)s - %(levelname)s: %(message)s')

    @staticmethod
    def info(message: str):
    	# info级别的日志,绿色
        logging.info("\033[0;32m" + message + "\033[0m")

    @staticmethod
    def warning(message: str):
    	# warning级别的日志,黄色
        logging.warning("\033[0;33m" + message + "\033[0m")

    @staticmethod
    def error(message: str):
    	# error级别的日志,红色
        logging.error("\033[0;31m"+"-" * 120 + '\n| ' + message + "\033[0m" + "\n" + "└"+"-" * 150)

    @staticmethod
    def debug(message: str):
    	# debug级别的日志,灰色
        logging.debug("\033[0;37m" + message + "\033[0m")


if __name__ == '__main__':
	# 测试代码
    LogColor.info("info日志")
    LogColor.warning("warning日志")
    LogColor.error("error日志")
    LogColor.debug("debug日志")
  • 运行之后的效果在这里插入图片描述

二、代码解释

  1. logging是Python自带的日志输出模块
    import logging
    
    • logging的日志分为以下五个级别
    logging.critical("critical")
    logging.info("info")
    logging.warning("warning")
    logging.error("error")
    logging.debug("debug")
    
    • 运行后
      在这里插入图片描述
  2. logging.basicConfig()是用于设置logging日志输出格式的方法
    logging.basicConfig(level=logging.DEBUG,format='%(asctime)s - %(levelname)s: %(message)s')
    
    • 特别说明,debug级别的日志是默认不打印的,所以需要设置日志输出的最低界别为debug
    logging.basicConfig(level=logging.DEBUG)
    
  3. 输出的内容可设置想要的颜色
    logging.info("\033[0;32m" + message + "\033[0m")
    
    • 类似于print()
      在这里插入图片描述

三、附:自定义颜色对应代码

  • 自定内容颜色格式:
logging.info("\033[显示方式;前景颜色;背景颜色m"+ "日志内容" +"\033[0m") 
  • 显示方式

    显示方式 效果
    0 终端默认设置
    1 高亮显示
    4 使用下划线
    5 闪烁
    7 反白显示
    8 不可见
  • 字体颜色、背景颜色

    字体色 背景色 颜色描述
    30 40 黑色
    31 41 红色
    32 42 绿色
    33 43 黃色
    34 44 蓝色
    35 45 紫红色
    36 46 青蓝色
    37 47 白色

————————————————————————————————————————————
本人运营的博客同名公众号【软件测试必备技能】不定期会上传测试相关资料,有需要可以前往领取。
在这里插入图片描述
在这里插入图片描述
有需要可点击文章下方二维码,前往领取~
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40883833/article/details/128690511
今日推荐