python日志通过不同的等级打印不同的颜色(示例代码)

 更新时间:2021年01月13日 10:22:32   作者:无霸独尊  
这篇文章主要介绍了python日志通过不同的等级打印不同的颜色,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1,不用第三方库

# coding: utf-8
import logging

BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = range(8)
RESET_SEQ = "\033[0m"
COLOR_SEQ = "\033[1;%dm"

COLORS = {
 'WARNING': GREEN,
 'INFO': WHITE,
 'DEBUG': BLUE,
 'CRITICAL': YELLOW,
 'ERROR': RED
}

class ColoredFormatter(logging.Formatter):
 def __init__(self, msg, use_color=True):
  logging.Formatter.__init__(self, msg)
  self.use_color = use_color

 def format(self, record):
  levelname = record.levelname
  message = str(record.msg)
  funcName = record.funcName
  if self.use_color and levelname in COLORS:
   levelname_color = COLOR_SEQ % (30 + COLORS[levelname]) + levelname + RESET_SEQ
   message_color = COLOR_SEQ % (30 + COLORS[levelname]) + message + RESET_SEQ
   funcName_color = COLOR_SEQ % (30 + COLORS[levelname]) + funcName + RESET_SEQ
   record.levelname = levelname_color
   record.msg = message_color
   record.funcName = funcName_color
  return logging.Formatter.format(self, record)

LOGFORMAT = "[%(asctime)s][%(name)s] [%(levelname)s] (%(filename)s:%(funcName)s:%(lineno)d) %(message)s"
LOG_LEVEL = logging.DEBUG
formatter = ColoredFormatter(LOGFORMAT)
stream = logging.StreamHandler()
stream.setLevel(LOG_LEVEL)
stream.setFormatter(formatter)
logging.root.setLevel(LOG_LEVEL)
log = logging.getLogger('logconfig')
log.setLevel(LOG_LEVEL)
log.addHandler(stream)
def Logging(name):
 log = logging.getLogger(name)
 log.setLevel(LOG_LEVEL)
 log.addHandler(stream)
 return log

if __name__ == '__main__':
 logger = Logging(__name__)
 logger.info(123123)
 logger.debug(123123)
 logger.error(123123)
 logger.warning(123123)

 

在这里插入图片描述

2,使用colorlog pip install colorlog

# coding: utf-8
# coding: utf-8
from colorlog import ColoredFormatter
import logging

LOG_LEVEL = logging.DEBUG

LOGFORMAT = "[%(asctime)s][%(name)s] [%(log_color)s**%(levelname)s**%(reset)s] [%(filename)s:%(funcName)s:%(log_color)s%(lineno)d%(reset)s] %(log_color)s%(message)s%(reset)s"
logging.root.setLevel(LOG_LEVEL)
formatter = ColoredFormatter(LOGFORMAT)

stream = logging.StreamHandler()
stream.setLevel(LOG_LEVEL)
stream.setFormatter(formatter)

log = logging.getLogger('logconfig')
log.setLevel(LOG_LEVEL)
log.addHandler(stream)

def Logging(name):
 log = logging.getLogger(name)
 log.setLevel(LOG_LEVEL)
 log.addHandler(stream)
 return log

if __name__ == '__main__':
 logging = Logging("test")
 logging.info(123123)
 logging.warning(123123)
 logging.debug(123123)

在这里插入图片描述

3,华丽的日志

pip install logbook termcc dataclasses

#coding: utf-8
from logbook import Logger
from termcc.helper.logger import sample_flask as setup_logger
setup_logger()

logging = Logger(__name__)
logging.info("123123")
logging.debug("123123")
logging.warn("123123")

在这里插入图片描述

到此这篇关于python日志通过不同的等级打印不同的颜色的文章就介绍到这了,更多相关python根据日志级别打印颜色内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python面向对象之类和对象属性的增删改查操作示例

    Python面向对象之类和对象属性的增删改查操作示例

    这篇文章主要介绍了Python面向对象之类和对象属性的增删改查操作,结合实例形式分析了Python面向对象相关的类与对象属性常见操作技巧,需要的朋友可以参考下
    2018-12-12
  • django框架自定义用户表操作示例

    django框架自定义用户表操作示例

    这篇文章主要介绍了django框架自定义用户表操作,结合实例形式分析了Django框架自定义用户表替换自带的user表具体操作步骤与相关使用技巧,需要的朋友可以参考下
    2018-08-08
  • django美化后台django-suit的安装配置操作

    django美化后台django-suit的安装配置操作

    这篇文章主要介绍了django美化后台django-suit的安装配置操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Flask框架 CSRF 保护实现方法详解

    Flask框架 CSRF 保护实现方法详解

    这篇文章主要介绍了Flask框架 CSRF 保护实现方法,结合实例形式详细分析了Flask-WTF针对CSRF攻击的防护相关操作技巧,需要的朋友可以参考下
    2019-10-10
  • python 自动去除空行的实例

    python 自动去除空行的实例

    今天小编就为大家分享一篇python 自动去除空行的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)

    Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)

    这篇文章主要介绍了Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 3分钟看懂Python后端必须知道的Django的信号机制

    3分钟看懂Python后端必须知道的Django的信号机制

    这篇文章主要介绍了3分钟看懂Python后端必须知道的Django的信号机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • python中计算一个列表中连续相同的元素个数方法

    python中计算一个列表中连续相同的元素个数方法

    今天小编就为大家分享一篇python中计算一个列表中连续相同的元素个数方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Pandas替换及部分替换(replace)实现流程详解

    Pandas替换及部分替换(replace)实现流程详解

    这篇文章主要介绍了Pandas替换及部分替换(replace)实现流程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Python基础知识_浅谈用户交互

    Python基础知识_浅谈用户交互

    下面小编就为大家带来一篇Python基础知识_浅谈用户交互。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05

最新评论