python日志通過不同的等級打印不同的顏色(示例代碼)
更新時間:2021年01月13日 10:22:32 作者:無霸獨尊
這篇文章主要介紹了python日志通過不同的等級打印不同的顏色,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
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")

到此這篇關(guān)于python日志通過不同的等級打印不同的顏色的文章就介紹到這了,更多相關(guān)python根據(jù)日志級別打印顏色內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL中表的復(fù)制以及大型數(shù)據(jù)表的備份教程
這篇文章主要介紹了MySQL中表的復(fù)制以及大型數(shù)據(jù)表的備份教程,其中大表備份是采用添加觸發(fā)器增量備份的方法,需要的朋友可以參考下2015-11-11
python中enumerate() 與zip()函數(shù)的使用比較實例分析
這篇文章主要介紹了python中enumerate()與zip()函數(shù)的使用比較,結(jié)合實例形式分析了enumerate()與zip()函數(shù)的功能、用法及操作注意事項,需要的朋友可以參考下2019-09-09
Python簡單實現(xiàn)自動刪除目錄下空文件夾的方法
這篇文章主要介紹了Python簡單實現(xiàn)自動刪除目錄下空文件夾的方法,涉及Python針對文件與目錄的讀取、判斷、刪除等相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
pymysql 插入數(shù)據(jù) 轉(zhuǎn)義處理方式
今天小編就為大家分享一篇pymysql 插入數(shù)據(jù) 轉(zhuǎn)義處理方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03

