Python3,好看的外(shen)表(cai)千篇一律,炫彩的日志万里挑一。

1、引言

小屌丝:鱼哥, 我今天被炫到了。
小鱼:怎么了,你还能被旋到了?
小屌丝对啊, 被炫到了,很不是滋味。
小鱼:不应该啊, 你这酒量,不都是 “青岛不倒我不倒,雪花不飘我不飘,半斤不是酒,一斤扶墙走…”,
小屌丝:打住,合着你说的是喝酒啊?
小鱼:嗯?? 那你说的不是喝酒?
小屌丝:我说的是被技能给炫到了
小鱼:哦,那不足为奇~
小屌丝:… 至少我也是新生代农民工…
小鱼:哦,那你自己搞一个更炫的, 闪亮他们的眼…
小屌丝:我要是能搞得出啦, 就不在这跟你唠嗑了。
小鱼:那是啥嘞?
小屌丝:就是调试的控制台,输出的日志是彩色的。
小鱼:就这???
在这里插入图片描述

小屌丝:对啊,就这。
小鱼:唉,现在是不是午饭时间了。
小屌丝:行, 整完了,咱俩去旋一个。
小鱼:你看看, 这刚喝完,又的去旋,总这样,身体也吃不消啊。
在这里插入图片描述

小屌丝: 好,整…
小鱼:好嘞。 那咱十分钟后,老地方见。

2、代码实战

2.1 库介绍

关于coloredlogs,这里,我直接引用官网的内容:

The coloredlogs package enables colored terminal output for Python’s logging module.
The ColoredFormatter class inherits from logging.
Formatter and uses ANSI escape sequences to render your logging messages in color.
It uses only standard colors so it should work on any UNIX terminal.
It’s currently tested on Python 2.7, 3.5+ and PyPy (2 and 3).

这里,我用汉语简单概括的唠叨一下(是时候展示我的英文水平了):

coloredlogs 包为 Python 的日志记录模块启用彩色终端输出。
类继承自日志记录。格式化程序并使用 ANSI 转义序列以彩色呈现日志记录消息。
它仅使用 标准颜色,因此它应该适用于任何UNIX终端。
可以在python2.7 和3.5及更高版本使用。

所以, 是不是觉得,很easy呢。
如果掌握了此方法, 以后在调试日志的时候, 根据颜色值,来判断错误的等级,是不是更高大上呢。

话不多说,直接安装,咱来实战。

2.2 库安装

涉及到第三方库,肯定就需要安装
老规矩,pip 安装

pip install coloredlogs

然后就是等待着安装。

其它安装方式,直接看这两篇:

安装完成,就是这个样子:
在这里插入图片描述

2.3 代码示例

2.3.1 demo

我先整一个简单的demo,来看看效果

# -*- coding:utf-8 -*-
# @Time   : 2023-02-22
# @Author : Carl_DJ

import coloredlogs, logging

# 创建logger.
logger = logging.getLogger(__name__)

#设置等级为 DEBUG
coloredlogs.install(level='DEBUG')
coloredlogs.install(level='DEBUG', logger=logger)

# 输出
logger.debug("this is a debugging message")
logger.info("this is an informational message")
logger.warning("this is a warning message")
logger.error("this is an error message")
logger.critical("this is a critical message")

结果展示

在这里插入图片描述

2.3.2 实战

有了上面的简单demo, 我们给封装一下,便于后期在框架中直接被调用。

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2023-02-22
# @Author : Carl_DJ

'''
实现功能:
    输出的日志,为彩色
'''

import logging
import coloredlogs
import sys


#logger 配置
logging.basicConfig()
logger = logging.getLogger(name='logger')

#logger安装到coloredlogs
coloredlogs.install(logger=logger)
#保证coloredlogs 不会将日志事件传递给跟logger,防止重复记录每个事件
logger.propagate = False

#输入logger字体颜色 配置
coloredFormatter = coloredlogs.ColoredFormatter(
    fmt='[%(name)s] %(asctime)s %(funcName)s %(lineno)-3d  %(message)s',
    #定义logger不同级别,输出的字体颜色
    level_styles=dict(
        debug = dict(color = 'yellow'),
        info = dict(color = 'green'),
        warning = dict(color = 'blue',bright = True),
        error = dict(color = 'red',bold = True,bright = True),
        critical = dict(color = 'black',bold=True,background = 'cyan'),
    ),
    field_styles=dict(
        name = dict(color = 'white'),
        asctime = dict(color = 'white'),
        funcName = dict(color = 'white'),
        lineno = dict(color = 'white'),
    )
)


#配置控制台输出,这是日志常规写法, 不做过多讲解
ch = logging.StreamHandler(stream=sys.stdout)
ch.setFormatter(fmt = coloredFormatter)
logger.addHandler(hdlr=ch)
#设置输出日志的等级
logger.setLevel(level=logging.INFO)

#设置输出文案内容
logger.debug(msg = "logger.debug test!")
logger.info(msg = "logger.info test!")
logger.warning(msg = "logger.warning test!")
logger.error(msg = "logger.error test!")
logger.critical(msg = "logger.critical test!")

结果展示

在这里插入图片描述

3、总结

看到这里, 今天的分享,就差不多该结束了。
关于coloredlogs的日常使用,掌握这篇就差不多了。
其实,在平时的工作中,并没有太多的时间去搞这么花里胡哨的,
但是,既然有这个库,那我们就多掌握一些。

好了,也不啰嗦了, 再唠叨,小屌丝也该着急了。

我是小鱼

  • CSDN 博客专家
  • 阿里云 专家博主
  • 51CTO 博客专家
  • 51认证讲师
  • 金牌面试官&面试培训师

关注,带你学习更多更有趣的Python知识。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Carl_奕然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值