- 前段时间因为工作需要脚本打印不同颜色的日志。查找了网上的一些方法,大部分都需要再安装第三方模块。
- 后来选择采用比较简易的办法,类似于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日志")
- 运行之后的效果
二、代码解释
- logging是Python自带的日志输出模块
import logging
logging.critical("critical")
logging.info("info")
logging.warning("warning")
logging.error("error")
logging.debug("debug")
- 运行后
- logging.basicConfig()是用于设置logging日志输出格式的方法
logging.basicConfig(level=logging.DEBUG,format='%(asctime)s - %(levelname)s: %(message)s')
- 特别说明,debug级别的日志是默认不打印的,所以需要设置日志输出的最低界别为debug
logging.basicConfig(level=logging.DEBUG)
- 输出的内容可设置想要的颜色
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 |
白色 |
————————————————————————————————————————————
本人运营的博客同名公众号【软件测试必备技能】不定期会上传测试相关资料,有需要可以前往领取。
有需要可点击文章下方二维码,前往领取~