zoukankan      html  css  js  c++  java
  • colorlog的三个例子

    例1:默认的log_colors

    import logging
    from logging.handlers import RotatingFileHandler
    from colorlog import ColoredFormatter
    
    #第一步:创建一个日志收集器logger
    logger = logging.getLogger("autotest")
    
    #第二步:修改日志的输出级别
    logger.setLevel(logging.DEBUG)
    
    #第三步:设置输出的日志内容格式
    fmt = "%(log_color)s%(asctime)s  %(log_color)s%(filename)s  %(log_color)s%(funcName)s [line:%(log_color)s%(lineno)d] %(log_color)s%(levelname)s %(log_color)s%(message)s"
    datefmt = '%a, %d %b %Y %H:%M:%S'
    
    formatter = ColoredFormatter(fmt=fmt,
                           datefmt=datefmt,
                           reset=True,
                           secondary_log_colors={},
                           style='%'
                           )
    
    #设置输出渠道--输出到控制台
    hd_1 = logging.StreamHandler()
    #在handler上指定日志内容格式
    hd_1.setFormatter(formatter)
    
    
    #第五步:将headler添加到日志logger上
    logger.addHandler(hd_1)
    
    #第六步:调用输出方法
    logger.debug("我是debug级别的日志")
    logger.info("我是info级别的日志")
    logger.warning("我是warning级别的日志")
    logger.critical("我的critical级别的日志")
    logger.error("我是error级别的日志输出")

    默认的color_colors的值为:

    代码运行结果:

    例2:自定义log_colors

    import logging
    from logging.handlers import RotatingFileHandler
    from colorlog import ColoredFormatter
    
    #第一步:创建一个日志收集器logger
    logger = logging.getLogger("autotest")
    
    #第二步:修改日志的输出级别
    logger.setLevel(logging.DEBUG)
    
    #第三步:设置输出的日志内容格式
    fmt = "%(log_color)s%(asctime)s  %(log_color)s%(filename)s  %(log_color)s%(funcName)s [line:%(log_color)s%(lineno)d] %(log_color)s%(levelname)s %(log_color)s%(message)s"
    datefmt = '%a, %d %b %Y %H:%M:%S'
    
    formatter = ColoredFormatter(fmt=fmt,
                           datefmt=datefmt,
                           reset=True,
                           log_colors={
                                   'DEBUG':'cyan',
                                   'INFO': 'green',
                                'WARNING':'yellow',
                                'ERROR': 'red',
                                'CRITICAL':'red,bg_white'
                                },
                           secondary_log_colors={},
                           style='%'
                           )
    
    #设置输出渠道--输出到控制台
    hd_1 = logging.StreamHandler()
    #在handler上指定日志内容格式
    hd_1.setFormatter(formatter)
    
    
    #第五步:将headler添加到日志logger上
    logger.addHandler(hd_1)
    
    #第六步:调用输出方法
    logger.debug("我是debug级别的日志")
    logger.info("我是info级别的日志")
    logger.warning("我是warning级别的日志")
    logger.critical("我的critical级别的日志")
    logger.error("我是error级别的日志输出")

    代码运行结果:

    例3:secondary_log_color的使用

    import logging
    from logging.handlers import RotatingFileHandler
    from colorlog import ColoredFormatter
    
    #第一步:创建一个日志收集器logger
    logger = logging.getLogger("autotest")
    
    #第二步:修改日志的输出级别
    logger.setLevel(logging.DEBUG)
    
    #第三步:设置输出的日志内容格式
    fmt = "%(log_color)s%(asctime)s  %(log_color)s%(filename)s  %(log_color)s%(funcName)s [line:%(log_color)s%(lineno)d] %(log_color)s%(levelname)s %(message_log_color)s%(message)s"
    datefmt = '%a, %d %b %Y %H:%M:%S'
    
    formatter = ColoredFormatter(fmt=fmt,
                           datefmt=datefmt,
                           reset=True,
                           secondary_log_colors={
                               'message': {
                                   'ERROR': 'red',
                                   'CRITICAL': 'yellow',
                                   'WARNING': 'green'
                               }
                           },
                           style='%'
                           )
    
    #设置输出渠道--输出到控制台
    hd_1 = logging.StreamHandler()
    #在handler上指定日志内容格式
    hd_1.setFormatter(formatter)
    
    
    #第五步:将headler添加到日志logger上
    logger.addHandler(hd_1)
    
    #第六步:调用输出方法
    logger.debug("我是debug级别的日志")
    logger.info("我是info级别的日志")
    logger.warning("我是warning级别的日志")
    logger.critical("我的critical级别的日志")
    logger.error("我是error级别的日志输出")

    代码运行结果:

  • 相关阅读:
    Mongodb---记一次事故故障
    扎克伯格的中文夜:想要成功就不能放弃
    TTS-零基础入门之停止列表中单条语音播报
    卡尔曼滤波(Kalman Filter) 的进一步讨论
    2014.8.12-AKKA和Actor model 分布式开发环境学习小结
    c# 删除程序占用的文件,强力删除文件,彻底删除文件,解除文件占用
    Spring源代码解析和配置文件载入
    java调用c++ dll出现中文乱码
    Android任务栈TaskStack
    应用中清理缓存应用实现
  • 原文地址:https://www.cnblogs.com/my_captain/p/9574126.html
Copyright © 2011-2022 走看看