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)
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+opencv3.4.0 实现HOG+SVM行人检测的示例代码
参照opencv官网例程写了一个基于python的行人检测程序,实现了和自带检测器基本一致的检测效果. opencv版本:3.4.0 训练集和opencv官方用了同一个,可以从http://pasca ...
- python操作数据库教程_Python连接mysql数据库及简单增删改查操作示例代码
1.安装pymysql 进入cmd,输入 pip install pymysql: 2.数据库建表 在数据库中,建立一个简单的表,如图: 3.简单操作 3.1查询操作 #coding=utf-8 #连 ...
- python 写数值模拟器_python实现模拟器爬取抖音评论数据的示例代码
目标: 由于之前和朋友聊到抖音评论的爬虫,demo做出来之后一直没整理,最近时间充裕后,在这里做个笔记. 提示:大体思路 通过fiddle + app模拟器进行抖音抓包,使用python进行数据整理 ...
- python登录网页账号密码_Python 通过爬虫实现GitHub网页的模拟登录的示例代码
1. 实例描述 通过爬虫获取网页的信息时,有时需要登录网页后才可以获取网页中的可用数据,例如获取 GitHub 网页中的注册号码时,就需要先登录账号才能在登录后的页面中看到该信息,如下图所示.那么该如 ...
- 初学者怎样看懂python代码_Python零基础入门-(如何让人读懂你的代码)文档注释
目标注释的作用 单行注释(行注释) 多行注释(块注释) 01. 注释的作用使用用自己熟悉的语言,在程序中对某些代码进行标注说明,增强程序的可读性 02. 单行注释(行注释)以 # 开头,# 右边的所有 ...
- python数据库教程_Python连接mysql数据库及简单增删改查操作示例代码
1.安装pymysql 进入cmd,输入 pip install pymysql: 2.数据库建表 在数据库中,建立一个简单的表,如图: 3.简单操作 3.1查询操作 #coding=utf-8 #连 ...
- python 定时自动爬取_python实现scrapy爬虫每天定时抓取数据的示例代码
1. 前言. 1.1. 需求背景. 每天抓取的是同一份商品的数据,用来做趋势分析. 要求每天都需要抓一份,也仅限抓取一份数据. 但是整个爬取数据的过程在时间上并不确定,受本地网络,代理速度,抓取数据量 ...
- python实现简易聊天需要登录博客园zip下载_Python基于Socket实现简易多人聊天室的示例代码...
前言 套接字(Sockets)是双向通信信道的端点. 套接字可以在一个进程内,在同一机器上的进程之间,或者在不同主机的进程之间进行通信,主机可以是任何一台有连接互联网的机器. 套接字可以通过多种不同的 ...
- python 去重 字典_python按照list中字典的某key去重的示例代码
一.需求说明 当我们写爬虫的时候,经常会遇到json格式的数据,它通常是如下结构: data = [{'name':'小K','score':100}, {'name':'小J','score':98 ...
最新文章
- 斯坦福连续发了四年的 AI 报告,今年讲了什么?
- Istio-0.8.0在Minikube环境中快速启动Bookinfo示例
- linux软件包管理之rpm 、yum基本使用
- 使用append之后数组维度消失_JAVA魅力之神奇的数组带给你不一样的乐趣
- linux下c语言抓包库libpcap
- 百度SEO站群织梦dedecms自定义多条件筛选插件源码
- 2020 COCO Keypoint Challenge 冠军之路!
- C++字符串操作总结
- SPS:设置访问群体
- JavaScript基础面试题
- 1、配置后台登录以及模板引入
- python读取同花顺数据_python爬取同花顺数据
- 无密码如何破解PDF加密
- 用python一条命令解决多个ts转换成MP4(就一条),备用两选一
- 网站APP信息以及用户数据泄露排查方案
- 软著代办一般需要多少钱?
- 010editor pyc template
- Control your destiny, or someone else will
- 华为路由器显示网络未连接到服务器,华为路由器Q1连接没有网络该怎么办?
- 计算机运用基础 南开在线作业,《大学计算机基础》20秋南开在线作业百分