文章目录
- 一、完整代码
- 二、代码解释
- 三、附:自定义颜色对应代码
- 前段时间因为工作需要脚本打印不同颜色的日志。查找了网上的一些方法,大部分都需要再安装第三方模块。
- 后来选择采用比较简易的办法,类似于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的日志分为以下五个级别
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()
- 类似于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 白色