规范目录结构,常用模块之日志模块
2019-01-22 19:28
155 查看
1.规范目录结构 bin 存放执行文件 conf 存放配置文件 core 核心业务逻辑 db 存放数据处理相关 lib 公共代码和第三方的模块 log 日志 readme 是一个文本文件,用于描述应用程序 1.使用规范目录结构的好处 -是项目结构更清晰 -提高可读性 规范目录结构不是固定,可以根据实际需求进行添加修改 如果你的执行文件不在最外层,需要手动将要访问的模块路径加入到sys.path,一下写法是固定的 import os os.path.dirname#获取该路径的上一级路径 BASE_DIR=os.path.dirname(os.path.dirname(__file__)) import sys sys.path.append(BASE_DIR) 获取当前执行文件的完整路径 print(__file__) import os,sys sys.path.append(os.path.dirname(os.path.dirname(__file__))) 2.常用模块 logging time random os logging 日志模块 什么是日志 就是生活中的日记 用于记录什么时间发生了什么事情 为什么要记 就是为了在以后记录程序出现问题的时候,能够通过日志来找到问题的原因 怎么记日志 可以自己实现 当然有功能更强大的logging模块 import logging logging.debug('debug') logging.info('info') logging.warning('warning') logging.error('error') logging.critical('critical') logging模块将日志分为了五种等级 为什么要分级别? 为了在后期查看日志时候方便定位 logging的默认县市级别为WARNING,低于WARNING级别的都不会被显示 默认的输出位置是终端 默认的输出格式 WARNING(级别):root(日志生成器的名字):warning(输出的日志消息) 修改默认的行为 日志模块中的四种角色 1.logger 日志生成器 生成一条日志 可以设置生成日志的级别 2.filter 日志的过滤器 对logger生成的日志进行过滤 3.formatter 处理格式的 设置日志的输出格式 4.handler 处理器 最终负责将日志输出到指定的位置 handler的级别若低于生成器是没有意义的 自定义日志生成器 可以为生成器指定名字 是因为 可以存在多个生成器 logger=logging.getLogger('logger1') 设置日志级别 logging模块内部使用整数区分级别 此处可以直接写对应整数,但建议写常量 logger.setLevel(logging.WARNING) logger.warning('这是一个警告信息') 创建一个处理器 handler=logging.FileHandler('test.log','a',encoding='utf-8') fmt=logging.Formatter("%(asctime)s - %(name)s -%(filename)s - %(message)s") handler.setFormatter(fmt) 将handler与生成器绑定 可以为一个生成器指定多个处理器 logger.addHandler(handler) import logging 1.获取生成器 logger=logging.getLogger('mylogger') logger.setLevel(10) 2.格式处理器 fmt=logging.Formatter('%(levelname)s %(asctime)s %(message)s') 3.创建handler处理器 handler=logging.Filehandler('test2.log','a',encoding='utf-8') 可以绑定多个handler StreamHandler用于输出到终端 handler2=logging.StreamHandler() 4.将handler与格式处理器绑定 handler.setFormatter(fmt) handler2.setFormatter(fmt) 5.把handler生成器绑定 logger.addHandler(handler) logger.addHandler(handler2) name = "bgon" logger.debug(name)
相关文章推荐
- 软件目录结构规范以及在不同目录间进行模块调用
- webrtc 源码目录结构分析及各模块介绍
- 微擎(微赞)学习之 -- 模块开发:目录结构
- FleaPHP 开发指南 - 4. 命名规范和目录结构
- PO模块常用表结构
- linux 目录结构+常用命令+压缩命令+vim使用+及一些基础知识(非常好)
- Android 短信模块分析(一) Mms功能概述及源码目录结构分析
- 软件目录结构规范
- 文件系统层次结构分析、目录管理、文件管理、日期管理常用命令使用
- WIP模块常用表结构
- linux(centos)部分常用命令以及目录结构简单介绍
- LayaAir引擎学习日志4----创建JS项目并详解目录结构
- PO模块常用表结构
- Linux目录结构和常用命令
- 数据库设计(3)_逻辑结构设计_常用模块
- 第3 4 讲 linux用户管理 目录结构 常用命令
- phpcms V9 常用文件目录结构
- Oracle 常用目录结构(10g)
- Oracle 常用目录结构(10g)
- linux目录结构及常用目录的详细作用