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级别的日志输出")

    代码运行结果:

  • 相关阅读:
    LuoguP4463 [集训队互测2012] calc DP+拉格朗日插值
    一些图的计数
    redis补充1之为什么要用 Redis/为什么要用缓存?
    redis补充4之Redis 和 Memcached 的区别和共同点
    redis补充3之为什么要有分布式缓存?/为什么不直接用本地缓存?
    redis补充2之简单说说有哪些本地缓存解决方案?
    1_java语言概述-注释与API文档等
    1_java语言概述-开发环境搭建
    weblogic 2021.4.20 季度补丁
    mysql source输出记录日志
  • 原文地址:https://www.cnblogs.com/my_captain/p/9574126.html
Copyright © 2011-2022 走看看