zoukankan      html  css  js  c++  java
  • logging模块

    logging模块

    logging是用来记录日志的模块,一般记录用户在软件中操作。

    # 定义日志输出格式 结束
    #注意1: log文件的目录
    BASE_PATH = os.path.dirname(os.path.dirname(__file__))
    logfile_dir = os.path.join(BASE_PATH, 'log_dir')
    # print(logfile_dir)
    
    #注意2: log文件名
    logfile_name = 'user.log'
    
    # 如果不存在定义的日志目录就创建一个
    if not os.path.isdir(logfile_dir):
        os.mkdir(logfile_dir)
    
    # log文件的全路径
    logfile_path = os.path.join(logfile_dir, logfile_name)
    
    #注意3: log配置字典
    
    # 注意4:
    def get_logger(user_type):
                # 1.加载log配置字典到logging模块的配置中
                logging.config.dictConfig(LOGGING_DIC)
    
                # 2.获取日志对象,
                logger = logging.getLogger(user_type)
                return logger
    
           logger = get_logger('user')
           logger.info('日志消息')
            
    

    防止导入模块时自动执行测试功能

    # func()# __name__属于模块名称空间中的一个名字
    # 当我们执行该模块时就会产生print(__name__)
    # 在当前文件中名字为:__main__   被导入时: 模块的名字
    # 注意: 记住--》 main + 回车键
    if __name__ == '__main__':   
    	# 在此处对功能进行测试
    	print('在当前模块下执行测试功能...')
         func()
    else:
        print('当前模块已被导入...')
    

    包的理论

    什么是包?
    包是一个带有__init__.py的文件夹,包也可以被导入
    并且可以一并导入包下的所有模块
    
    为什么要使用包?
    包可以帮我们管理模块,在包中有一个__init__.py,由它来帮我们管理模块
    
    怎么使用包?
    import 包.模块名
    from 包 import 模块名
    from 包.模块名 import 模块中的名字
    
    导入包时发生的事情
    1.当包被导入时,会以包中的__init__.py来产生一个名称空间
    2.然后执行__init__.py,会将__init__.py中的所有名字添加到名称空间中
    3.接着会将包下所有的模块的名字加载到__init__.py产生的名称空间中
    4.导入的模块指向的名称空间其实就是__init__.py产生的名称空间中
    
  • 相关阅读:
    轻量级监控平台之java进程监控脚本
    轻量级监控平台之cpu监控
    通过jgit一次性升级fastjson版本
    Jedis Unexpected end of stream & java.net.SocketException: Broken pipe问题解决思路
    程序日志停止滚动问题排查
    前后端hosts配置访问问题解决思路
    mysql慢日志分析组件安装
    redis集群搭建
    redis哨兵环境搭建
    pyspider基础
  • 原文地址:https://www.cnblogs.com/a736659557/p/11894368.html
Copyright © 2011-2022 走看看