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

    代码运行结果:

  • 相关阅读:
    python多继承下的查找顺序-MRO原则演变与C3算法
    linux后台启动项目命令
    Django框架—ORM操作笔记
    Git使用方法记录
    django框架—终端命令
    数据中台实战之元数据
    MYSQL之高性能的mysql(七)--MySQL高级特性
    MYSQL之高性能的mysql(六)--查询性能优化
    MYSQL之高性能的mysql(五)--索引
    MYSQL之高性能的mysql(四)--Schema与数据类型优化
  • 原文地址:https://www.cnblogs.com/my_captain/p/9574126.html
Copyright © 2011-2022 走看看