zoukankan      html  css  js  c++  java
  • 常见模块(二) logging模块

    logging模块是专门做日志系统的.分为函数版和自定义函数.

    (一)logging模块初级版

    缺点,不能指定字符集,不能把屏幕输出和文件日志同时记录。只能选择其一。

    文件记录日志

    import logging
    
    logging.basicConfig(
    	level = 30,
    	filename = "logger.log",
    	filemode = "a",
    	format = '%(asctime)s-%(name)s-%(lineno)d-%(message)s',
    
    )
    
    logging.warning("这是一个警告")
    logging.error("这是一个错误")
    logging.critical("这是一个严重错误")
    

      

    屏幕输出日志

    import logging
    
    logging.basicConfig(
    	level = 30,
    	#filename = "logger.log",
    	filemode = "a",
    	format = '%(asctime)s-%(name)s-%(lineno)d-%(message)s',
    
    )
    
    logging.warning("这是一个警告")
    logging.error("这是一个错误")
    logging.critical("这是一个严重错误")
    

      

    (二)logging模块中自定义日志系统

    import logging

    logger = logging.getLogger()  # 自定义一个模块系统
    Formatter = logging.Formatter('%(asctime)s-%(name)s-%(lineno)d-%(message)s')  # 定义日志输出格式
    ft = logging.FileHandler("logger.log", "a", encoding="utf-8")  # 定义文件流
    st = logging.StreamHandler()  # 定义屏幕流
    ft.setFormatter(Formatter)  # 将格式加载到文件流中
    st.setFormatter(Formatter)  # 将格式加载到屏幕流中
    logger.addHandler(ft)  # 将文件流加载到自定义的loger日志系统中
    logger.addHandler(st)  # 将屏幕流加载到自定义的loger日志系统中
    


    logger.debug("这是一个debug")
    logger.info("这是一个info")
    logger.warning("这是一个warning")
    logger.error("这是一个error")
    logger.critical("这是一个critical")
    
    logger.removeHandler(ft)    # 将Handler移除,避免下次调用,生成同样的Handler导致重复日志,Eg:第一次输出日志一行,第二次输出同样的两行日志(因为又生成了一个Handler)
                                # 第三次输出同样的三行日志
    

    常用方法:

    import logging
    
    ft = logging.FileHandler("logger.log", "a", encoding="utf-8")  # 定义文件流
    Formatter = logging.Formatter('%(asctime)s  Username:%(name)s  message-%(message)s',datefmt='%Y:%m:%d')  # 定义日志输出格式
    ft.setFormatter(Formatter)  # 将格式加载到文件流中
    
    logger = logging.Logger(name='a',level=logging.DEBUG)  # 自定义一个模块系统
    logger.addHandler(ft)  # 将文件流加载到自定义的loger日志系统中
    

      

     


      

  • 相关阅读:
    使用 Apachetop 实时监测web服务器运行状况
    Idea连接服务器docker并部署代码到docker实现一键启动
    win10上修改docker的镜像文件存储位置
    docker无法删除镜像,Error: No such container,附docker常用命令
    docker--docker基本命令使用及发布镜像
    Docker for windows pull镜像文件的安装位置改变方法
    k8s 超详细总结,面试必问
    Java大数类BigDecimal及八种舍入模式的介绍
    BigDecimal创建初始化值类型对比
    BigDecimal 小数 浮点数 精度 财务计算
  • 原文地址:https://www.cnblogs.com/duoduoyichen/p/10279666.html
Copyright © 2011-2022 走看看