python不同颜色的代码_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)

7598419516d92ec908d197125bbeb3be.png

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)

15c4717684c1fdc341d0e7f5811da4e4.png

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")

c583c76eda8f3ed45e529196ff22c087.png

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值