zoukankan      html  css  js  c++  java
  • 日志学习(一)

    # 程序产生的日志,程序员自定义设置的
    import logging  # python内置的日志模块
    # 1、定义日志收集器,
    # 日志收集器的名字叫case
    case_logger = logging.getLogger("case")   # 会创建一个logger对象

    # 2、指定日志收集器的日志等级
    # 日志等级
    # NOTSET(0)、DEBUG(10)、INFO(20)、WARNING(30)、ERROR(40)、CRITICAL(50)

    # 只能收集当前等级和当前等级以上级别的日志
    # 方法一
    case_logger.setLevel(logging.DEBUG)   # 即能收集DEBUG和DEBUG以上级别的日志
    # 方法二
     case_logger.setLevel("DEBUG")
    # 3、定义日志输出渠道
    # 输出到控制台
    console_handle = logging.StreamHandler()  # 返回一个handler对象
    # 输出到文件
    file_handle = logging.FileHandler("cases.log",encoding="utf-8")

    # 4、指定日志输出渠道的日志等级
    # 控制台
    console_handle.setLevel(logging.ERROR)
    # 文件
    file_handle.setLevel(logging.INFO)
    # 5、定义日志显示格式
    simple_formatter = logging.Formatter("%(asctime)s - [%(levelname)s]- [%(message)s]")
    verbose_formatter = logging.Formatter("%(asctime)s - [%(levelname)s]- [%(lineno)d] - [%(message)s] - [%(module)s]")
    
    
    console_handle.setFormatter(simple_formatter)  # 控制台显示简单的日志
    file_handle.setFormatter(verbose_formatter)   # 日志文件中显示详细日志
    # 6、对接、将日志收集器与输出渠道对接
    case_logger.addHandler(console_handle)
    case_logger.addHandler(file_handle)

    调试:

    if __name__ == '__main__':
        case_logger.debug("这是一个debug级别的日志")   # 手动记录日志
        case_logger.info("这是一个info级别的日志")
        case_logger.warning("这是一个warning级别的日志")
        case_logger.error("这是一个error级别的日志")
        case_logger.critical("这是一个critical级别的日志")

    日志结果:

     

  • 相关阅读:
    BZOJ1307: 玩具 单调队列
    BZOJ4415: [Shoi2013]发牌 树状数组+二分
    BZOJ2456: mode
    BZOJ2982: combination Lucas
    BZOJ4195: [Noi2015]程序自动分析 并查集
    BZOJ2563: 阿狸和桃子的游戏 贪心
    BZOJ5281: [Usaco2018 Open]Talent Show 01分数规划+01背包
    一种斐波那契博弈(Fibonacci Nim)
    网易云深度剖析Kubernetes优化与实践
    360°透视:云原生架构演进
  • 原文地址:https://www.cnblogs.com/taiyangfeng/p/11878472.html
Copyright © 2011-2022 走看看