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


Posted in Python onJanuary 13, 2021

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)

 

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

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)

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

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如何使用AIML搭建聊天机器人
Jan 27 Python
[原创]教女朋友学Python(一)运行环境搭建
Nov 29 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
Feb 26 Python
python入门前的第一课 python怎样入门
Mar 06 Python
对python使用http、https代理的实例讲解
May 07 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
Jan 04 Python
numpy concatenate数组拼接方法示例介绍
May 27 Python
python+opencv像素的加减和加权操作的实现
Jul 14 Python
pycharm创建scrapy项目教程及遇到的坑解析
Aug 15 Python
python能开发游戏吗
Jun 11 Python
python 匿名函数与三元运算学习笔记
Oct 23 Python
C3 线性化算法与 MRO之Python中的多继承
Oct 05 Python
浅谈Selenium+Webdriver 常用的元素定位方式
Jan 13 #Python
Selenium Webdriver元素定位的八种常用方式(小结)
Jan 13 #Python
基于python+selenium自动健康打卡的实现代码
Jan 13 #Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
Jan 13 #Python
matplotlib交互式数据光标实现(mplcursors)
Jan 13 #Python
Python 生成短8位唯一id实战教程
Jan 13 #Python
python uuid生成唯一id或str的最简单案例
Jan 13 #Python
You might like
解决phpmyadmin 乱码,支持gb2312和utf-8
2006/11/20 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
2009/11/27 PHP
php Xdebug 调试扩展的安装与使用.
2010/03/13 PHP
php设计模式 State (状态模式)
2011/06/26 PHP
php定时计划任务与fsockopen持续进程实例
2014/05/23 PHP
php获取YouTube视频信息的方法
2015/02/11 PHP
IE7提供XMLHttpRequest对象为兼容
2007/03/08 Javascript
小议javascript 设计模式 推荐
2009/10/28 Javascript
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
2012/12/19 Javascript
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
详解js的事件处理函数和动态创建html标记方法
2016/12/16 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
使用原生js+canvas实现模拟心电图的实例
2017/09/20 Javascript
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
javascript实现京东快递单号的查询效果
2020/11/30 Javascript
详解 Python 读写XML文件的实例
2017/08/02 Python
Python字符串、整数、和浮点型数相互转换实例
2018/08/04 Python
Face++ API实现手势识别系统设计
2018/11/21 Python
python数据挖掘需要学的内容
2019/06/23 Python
python实现的自动发送消息功能详解
2019/08/15 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
2019/10/14 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
市场部规章制度
2014/01/24 职场文书
教师职称自我鉴定
2014/02/12 职场文书
《雨霖铃》教学反思
2014/02/22 职场文书
主办会计岗位职责
2014/03/13 职场文书
农民工工资支付承诺函
2014/03/31 职场文书
好的促销活动方案
2014/08/21 职场文书
2014入党积极分子批评与自我批评思想报告
2014/10/06 职场文书
创业计划书之美容店
2019/09/16 职场文书