zoukankan      html  css  js  c++  java
  • [Python之路] 日志操作

    使用logging模块来写日志

    日志直接输出到准备输出

    import logging
    
    logging.basicConfig(level=logging.WARNING,
                        format="%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s")
    
    # 直接使用logging来写日志,会同时写在文件和标准输出中
    logging.debug("debug level")
    logging.info("info level")
    logging.warning("warning level")
    logging.error("error level")
    logging.critical("critical level")

    日志输出到文件

    import logging
    
    logging.basicConfig(level=logging.WARNING,
                        filename='basic_log.txt',
                        filemode='w',
                        format="%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s")
    
    # 直接使用logging来写日志,会同时写在文件和标准输出中
    logging.debug("debug level")
    logging.info("info level")
    logging.warning("warning level")
    logging.error("error level")
    logging.critical("critical level")

    同时向不同地方写日志

    import logging
    
    # 创建一个logger
    logger = logging.getLogger()
    logger.setLevel(logging.INFO)
    
    # 创建一个handler,用于写入日志文件
    logfile = './log.txt'
    fh = logging.FileHandler(logfile, mode='a')
    # 写入日志文件的级别为DEBUG
    fh.setLevel(logging.DEBUG)
    
    # 创建另一个handler,用于将日志输出到标准输出
    ch = logging.StreamHandler()
    # 标准输出的日志级别的WARNING
    ch.setLevel(logging.WARNING)
    
    # 定义日志格式
    formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s")
    
    # 将格式应用到fh和ch两个handler
    fh.setFormatter(formatter)
    ch.setFormatter(formatter)
    
    # 将handler装载到logger中
    logger.addHandler(fh)
    logger.addHandler(ch)
    
    # 使用logger来写日志,会同时写在文件和标准输出中
    logger.debug("debug level")
    logger.info("info level")
    logger.warning("warning level")
    logger.error("error level")
    logger.critical("critical level")
  • 相关阅读:
    P4146 序列终结者(Splay树)
    P2617 Dynamic Rankings(树套树)
    P4168 [Violet]蒲公英(分块魔术)
    P3649[APIO2014]回文串(回文自动机)
    [IOI2011]Race(树上启发式合并)
    CentOS 7安装 .net core 环境 官网说明地址
    宝塔 Linux 面板php.ini文件在哪个目录
    KPPW部署一直提示No input file specified的Apache伪静态设置
    【分享】 MPSoC的VCU超频
    Versal AIE 上手尝鲜 2 -- Linux例程
  • 原文地址:https://www.cnblogs.com/leokale-zz/p/11984301.html
Copyright © 2011-2022 走看看