模块02

规范目录

  使用规范目录结构的好处

  - 使项目结构更清晰

  - 提高可读性

  规范目录结构不是固定的,可以根据时间需求进行添加修改

  常见目录如下:

   bin 存放执行文件

   conf 存放配置文件

   core 存放核心业务逻辑

   db 存放数据处理相关

   lib 存放共代码和第三方模块

   log 存放日志文件

   readme 是一个文本文件,用于描述应用程序

logging 模块

  日志就是记录什么时间反思了什么事情

  在程序出现问题的时候,能通过日志找到问题的原因

  

  日志级别

  logging.debug()  #10

  logging.info()  #20

  logging.warning()  #30

  logging.error()  #40

  logging.critical()  #50

  默认级别为warning

  默认输出位置为控制台

  

  自定义配置

  日志格式  

  %(name)s:Logger的名字,并非用户名,详细查看

  %(levelno)s:数字形式的日志级别

  %(levelname)s:文本形式的日志级别

  %(pathname)s:调用日志输出函数的模块的完整路径名,可能没有

  %(filename)s:调用日志输出函数的模块的文件名

  %(module)s:调用日志输出函数的模块名

  %(funcName)s:调用日志输出函数的函数名

  %(lineno)d:调用日志输出函数的语句所在的代码行

  %(created)f:当前时间,用UNIX标准的表示时间的浮 点数表示

  %(relativeCreated)d:输出日志信息时的,自Logger创建以 来的毫秒数

  %(asctime)s:字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒

  %(thread)d:线程ID。可能没有

  %(threadName)s:线程名。可能没有

  %(process)d:进程ID。可能没有

  %(message)s:用户输出的消息

  logging中的四个核心角色

  logger 生成日志

  handler 处理日志

  formatter 格式化

  

  日志对象的继承关系

  可以将一个日志指定为另一个日志的子日志或子孙日志

  当存在继承关系时子孙级日志收到日志时会将该日志向上传递

  可以通过propagate来关闭传递

  

  通过字典配置日志模块

  每次都要编写代码来配置非常麻烦,我们可以写一个完整的配置保存起来便于以后直接使用

原文地址:https://www.cnblogs.com/LinChengcheng/p/10304004.html