使用规范目录结构的好处
- 使项目结构更清晰
- 提高可读性
规范目录结构不是固定,可以根据实际需求进行添加修改 常见目录如下:
bin 存放执行文件
conf 存放配置文件
core 存放核心业务逻辑
db 存放数据处理相关
lib 存放公共代码和第三方模块
readme 是一个文本文件,用于描述应用程序
"""
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 处理器 最终负责将日志输出到指定位置
"""
def funt():
# 自定义日志生成器
# 可以为生成器指定名字,是因为可以存在多个生成器
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 %(funcName)s %(message)s')
handler.setFormatter(fmt) # 将handler与生成器绑定
# 可以为一个生成器指定多个处理器
logger.addHandler(handler)
logger.error('这是一个错误信息')
print('生成日志') funt()

day18的更多相关文章

  1. day18<集合框架+>

    集合框架(Map集合概述和特点) 集合框架(Map集合的功能概述) 集合框架(Map集合的遍历之键找值) 集合框架(Map集合的遍历之键值对对象找键和值) 集合框架(Map集合的遍历之键值对对象找键和 ...

  2. day18 集合框架(JCF)

    集合框架(JCF)java collections framework 框架:为了实现某一目的/功能而预先提供的一系列封装好的具有继承或实现关系的类与接口. 1.这种框架是高性能的,对基本类集(动态数 ...

  3. 阶段01Java基础day18集合框架04

    18.01_集合框架(Map集合概述和特点) A:Map接口概述 查看API可以知道: 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 B:Map接口和Collection接 ...

  4. [Day18]集合框架Collection、迭代器、增强for循环以及泛型

    1.集合 1.1集合-本身是一个存储的容器 集合类的基本接口是Collection接口,这个接口有两个基本方法 (1)boolean add(E element) 用于向集合中添加元素,如果添加元素确 ...

  5. Java 集合系列之一:JCF集合框架概述

    容器,就是可以容纳其他Java对象的对象.Java Collections Framework(JCF)为Java开发者提供了通用的容器 java集合主要划分为四个部分: Collection(Lis ...

  6. 一起学 Java(三) 集合框架、数据结构、泛型

    一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...

  7. 【目录】JUC集合框架目录

    JUC集合框架的目录整理如下: 1. [JUC]JUC集合框架综述 2. [JUC]JDK1.8源码分析之ConcurrentHashMap(一) 3. [JUC]JDK1.8源码分析之Concurr ...

  8. java面试题——集合框架

    先来看一下集合框架关系图 Collection FrameWork 如下: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └S ...

  9. Java使用实现面向对象编程:第七章集合框架的解读=>重中之重

    对于集合框架,是非常重要的知识,是程序员必须要知道的知识点. 但是我们为什么要引入集合框架呢? 我们之前用过数组存储数据,但是采用数组存储存在了很多的缺陷.而现在我们引用了集合框架,可以完全弥补了数组 ...

  10. Java集合框架List,Map,Set等全面介绍

    Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I]   +--java.util.ArrayList [C]   +- ...

随机推荐

  1. Express全系列教程之(三):get传参

    一.关于get请求 一般在网站开发中,get都用作数据获取和查询,类似于数据库中的查询操作,当服务器解析前台资源后即传输相应内容:而查询字符串是在URL上进行的,形如: http://localhos ...

  2. mysql视图、存储过程等

    视图: 需求: 创建的临时表(select * from tb1)被反复使用,这时可以为该临时表创建视图.视图相当于为某个查询创建了别名. 1.创建视图 create view v1 as selec ...

  3. 2018-2019-2 网络对抗技术 20165225 Exp5 MSF基础应用

    2018-2019-2 网络对抗技术 20165225 Exp5 MSF基础应用 验前准备 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻 ...

  4. 小白用阿里云搭载wordpress个人博客

    阿里云服务已经购买多时,却一直没时间部署内容,借着这次机会自己照着博客园园友的方式用wordpress搭建了个人博客! 创建wordpress的内容就不多说了,直接附链接来源:https://www. ...

  5. SpringBoot单元测试

    一.Service层Junit单元测试 需要的jar包 <dependency> <groupId>org.springframework.boot</groupId&g ...

  6. Byword for Mac(Markdown编辑器)中文版

    还在找Markdown编辑器吗?那不妨试试Byword for Mac吧!这是一款轻量级的富文本编辑器,byword mac版提供了完整的Markdown支持,包含脚注.表格.交叉引用等功能,Bywo ...

  7. css实现礼券效果

    <template> <div class="demo"> <div class="stamp stamp01"> < ...

  8. 一、初识CocoaPods——XCode的依赖库管理工具

    概述 任意一款功能完整的APP,其中所涉及的内容都将是来自各个领域各个方面的.如果每个领域的每个方面都要重新开发并给予充分测试,那么1个APP的开发周期将会变得非常漫长,长到足以让房价再涨一倍,长到足 ...

  9. C++实验三

    part2 graph.h #ifndef GRAPH_H#define GRAPH_H// 类Graph的声明 class Graph { public: Graph(char ch, int n) ...

  10. 消息中间件解决方案JMS

    1. JMS入门 1.1消息中间件 1.1.1品优购系统模块调用关系分析 我们现在讲品优购已经完成的功能模块梳理如下: 我们已经完成了5个web模块和4个服务模块.其中运营商后台的调用关系最多,用到了 ...