python logging 不输出控制台_python3 logging模块控制台输出日志不同严重层级显示不同颜色...

主要使用到colorama这个库,以下为代码,相关注释也写在代码里了修改Fore.WHITE即可修改相应的颜色。

如果有不知道怎么使用logging模块的,请看我的上一篇博客,传送门:https://blog.csdn.net/xugexuge/article/details/86169406

import logging

import os.path

import time

from colorama import Fore, Style

import sys

class Logger(object):

def __init__(self, logger):

"""

指定保存日志的文件路径,日志级别,以及调用文件

将日志存入到指定的文件中

:param logger: 定义对应的程序模块名name,默认为root

"""

# 创建一个logger

self.logger = logging.getLogger(name=logger)

self.logger.setLevel(logging.DEBUG) # 指定最低的日志级别 critical > error > warning > info > debug

# 创建一个handler,用于写入日志文件

rq = time.strftime("%Y-%m-%d_%H-%M-%S", time.localtime(time.time()))

log_path = os.getcwd() + "/logs/"

log_name = log_path + rq + ".log"

# 这里进行判断,如果logger.handlers列表为空,则添加,否则,直接去写日志,解决重复打印的问题

if not self.logger.handlers:

# 创建一个handler,用于输出到控制台

ch = logging.StreamHandler(sys.stdout)

ch.setLevel(logging.DEBUG)

# 定义handler的输出格式

formatter = logging.Formatter(

"%(asctime)s - %(filename)s[line:%(lineno)d] - %(name)s - %(message)s")

ch.setFormatter(formatter)

# 给logger添加handler

# self.logger.addHandler(fh)

self.logger.addHandler(ch)

def debug(self, msg):

"""

定义输出的颜色debug--white,info--green,warning/error/critical--red

:param msg: 输出的log文字

:return:

"""

self.logger.debug(Fore.WHITE + "DEBUG - " + str(msg) + Style.RESET_ALL)

def info(self, msg):

self.logger.info(Fore.GREEN + "INFO - " + str(msg) + Style.RESET_ALL)

def warning(self, msg):

self.logger.warning(Fore.RED + "WARNING - " + str(msg) + Style.RESET_ALL)

def error(self, msg):

self.logger.error(Fore.RED + "ERROR - " + str(msg) + Style.RESET_ALL)

def critical(self, msg):

self.logger.critical(Fore.RED + "CRITICAL - " + str(msg) + Style.RESET_ALL)

if __name__ == '__main__':

log = Logger(logger="test")

log.debug("debug")

log.info("info")

log.error("error")

log.warning("warning")

log.critical("critical")

输出结果如下图:

a62fa9896142465287f675f64faf4ad7.jpg

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值