美文网首页js css html
为Python日志加点“颜色”

为Python日志加点“颜色”

作者: AlienPaul | 来源:发表于2023-04-18 14:14 被阅读0次

    前言

    编写Python程序时,默认使用的Python logging模块在控制台打印是没法指定颜色的。不同错误级别的日志输出看起来都一样,不容易分辨出较为严重的错误在哪。我们可以使用colorlog模块,为不同级别的日志配置不同的控制台文字颜色。让较为严重级别的日志颜色更为醒目。

    前置条件

    使用pip安装colorlog库。

    pip install colorlog
    

    使用方式

    下面给出一段简单示例:

    import colorlog
    import logging
    
    
    def init_logger():
        logger = logging.getLogger(__name__)
        logger.setLevel(logging.DEBUG)
        if not logger.handlers:
            stream_handler = logging.StreamHandler()
            stream_handler.setLevel(logging.DEBUG)
            fmt_string = '%(log_color)s[%(asctime)s][%(name)s][%(levelname)s]%(message)s'
            # black red green yellow blue purple cyan and white
            log_colors = {
                'DEBUG': 'cyan',
                'INFO': 'green',
                'WARNING': 'yellow',
                'ERROR': 'red',
                'CRITICAL': 'purple'
            }
            fmt = colorlog.ColoredFormatter(fmt_string, log_colors=log_colors)
            stream_handler.setFormatter(fmt)
            logger.addHandler(stream_handler)
        return logger
    
    
    def test():
        logger = init_logger()
        logger.debug('demo log')
        logger.info('info log')
        logger.warning('warning log')
        logger.error('fatal log')
        logger.critical('critical log')
    
    

    主要的配置项为日志级别和颜色的对应关系,即log_colors变量。

    文字颜色支持如下几种:

    • black
    • red
    • yellow
    • blue
    • purple
    • cyan
    • white

    除了文字颜色外,还可以指定背景颜色。统一命名格式为bg_{颜色}。如下所示:

    • bg_black
    • bg_red
    • bg_yellow
    • bg_blue
    • bg_purple
    • bg_cyan
    • bg_white

    文字样式还支持bold。例如bg_bold_cyan或者bold_cyan

    前景色和背景色支持组合使用,例如:

            log_colors = {
                'DEBUG': 'cyan',
                'INFO': 'green',
                'WARNING': 'yellow',
                'ERROR': 'bg_red',
                'CRITICAL': 'bg_purple,bold_cyan'
            }
    

    参考链接

    https://pypi.org/project/colorlog/

    相关文章

      网友评论

        本文标题:为Python日志加点“颜色”

        本文链接:https://www.haomeiwen.com/subject/fwwhjdtx.html