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

    代码运行结果:

  • 相关阅读:
    JS学习之构造函数、原型、原型链
    JS学习之面向对象(面向对象的创建方法,new运算符的工作原理)
    JS学习之事件流
    JS学习之生命周期与垃圾回收机制
    关于在XP操作系统和IIS5.1环境下的MVC环境搭建之IIS错误
    VS2010、.net 4.0下MVC3开发中Code First开发模式的数据迁移小结
    关于MVC3框架下的Jquery异步请求函数的学习心得之一——$.post()
    关于ASP调用存储过程的经典资料转载
    关于windows环境下的IIS 500内部服务器错误的一种解决办法
    接VS2010+Net+MVC3+EF4.1环境下的Code First一文的补充说明
  • 原文地址:https://www.cnblogs.com/my_captain/p/9574126.html
Copyright © 2011-2022 走看看