• Python3-logging模块-日志记录


    Python3中的logging模块提供了较为灵活的事件日志系统

      日志级别

        DEBUG < INFO < WARING(Python默认) < ERROR < FATAL(CRITICAL)

      logging模块常用的类主要有以下几个

        logging.Logger

          主要提供应用程序代码直接使用的接口,一般不会直接实例化,而是通过logging.getLogger(name)得到

        logging.Handler

          日志处理对象的基类,不应实例化,被实例化的应该是其子类,如logging.StreamHandler,它负责发送日志记录到正确的目标

        logging.Formatter

          它决定了以怎样的格式来进行打印日志记录,常用的日志格式如下:

          %(name)s

            Logger对象的名字

          %(levelname)s

            日志级别的英文表示

          %(filename)s

            调用日志输出函数的模块名

          %(lineno)s

            调用日志输出函数的语句所在的代码行

          %(asctime)s

            字符串形式的当前时间

          %(message)s

            用户输出的消息

    示例代码

    import logging
    
    # 1.初始化日志默认配置
    logging.basicConfig(filename='./my.log',                                                 # 日志输出文件
                        level=logging.DEBUG,                                                 # 日志写入级别
                        datefmt='%Y-%m-%d %H:%M:%S',                                         # 时间格式
                        format='%(asctime)s %(levelname)s Line:%(lineno)s==>%(message)s')    # 日志写入格式
    
    # 2.打印不同级别的日志记录
    logging.debug("debug级别的日志")
    logging.info("info级别的日志")
    logging.warning("warning级别的日志")
    logging.error("error级别的日志")
    logging.critical("fatal级别的日志")
    1.基础配置仅打印日志到文件

    import logging
    
    # Formatter对象 用于决定日志打印的格式
    fmt = logging.Formatter("%(asctime)s %(levelname)s Line:%(lineno)s==>%(message)s")
    fmt.datefmt = "%Y-%m-%d %H:%M:%S"      # 可以自定义时间的格式
    
    # Handler对象 将(logger创建的)日志记录发送到合适的目的输出
    ch = logging.StreamHandler()            # 标准输出流处理对象
    ch.setFormatter(fmt)
    ch.setLevel(logging.WARNING)
    
    fh = logging.FileHandler("./jet.log")   # 文件处理对象
    fh.setFormatter(fmt)
    fh.setLevel(logging.FATAL)
    
    # Logger对象 对外暴露的接口
    logger = logging.getLogger("Jet")
    logger.addHandler(ch)
    logger.addHandler(fh)
    logger.setLevel(logging.INFO)         # 日志级别总控制,以它为最低级别
    
    
    # 日志输出
    logger.debug("debug级别的日志")
    logger.info("info级别的日志")
    logger.warning("warning级别的日志")
    logger.error("error级别的日志")
    logger.critical("fatal级别的日志")
    2.自定义配置双向输出日志到控制台和文件

    参考资料

      http://python.usyiyi.cn/translate/python_352/library/logging.html

      

  • 相关阅读:
    log4j 日志配置
    找出两个列表元素中相同的元素
    列表元素去重
    hdu 2149 Public Sale(巴什博弈变形)
    POJ 3169 Layout (差分约束+SPFA)
    hdu 1494 跑跑卡丁车(动态规划)
    hdu 3177 Crixalis's Equipment(贪心)
    HDU 1576 A/B(扩展欧几里德变形)
    POJ 1061青蛙的约会(扩展欧几里德)
    IE6下的CSS多类选择符
  • 原文地址:https://www.cnblogs.com/qq1207501666/p/6640372.html
Copyright © 2020-2023  润新知