1. 日志相关项:

1> 在代码中添加日志,然后输出到文件中;

2> 用于记录代码逻辑执行过程,当报错异常时用于分析问题;

3> 定义日志收集器:要从代码当中按照要求,收集对应的日志,并输出到渠道当中;

a> 要收集哪些级别以上的日志?

b> 日志以什么样的格式显示?

c> 日志要输出到哪里去?

4> 日志级别(Level): debug 调试 -  info 基本信息 -  warning 警告 - error 报错 - critical(FATA) 严重错误

5> 日志显示的格式(Formatter):时间,日志级别,代码文件,第几行,信息

6> 日志输出渠道(Handle):文件(FileHandle)、控制台(StreamHandle)

2. logging模块:

1> 有一个默认的日志收集器:root,可以自己设定

2> 收集的是warning及warning以上级别的日志

3> 日志格式:日志级别  收集器的名字   输出的内容

4> 输出渠道:控制台/文件

1 importlogging2

3

4 classStudent:5

6 identify = "student"

7

8 def __init__(self,name,age,sex,cn_score,math_score,en_score):9 self.name =name10 self.age =age11 self.sex =sex12 self.cn_score =cn_score13 self.math_score =math_score14 self.en_score =en_score15 logging.info("hello,logging!!!")16

17 defget_sum_of_score(self):18 sum = self.cn_score + self.math_score +self.en_score19 logging.debug("{} 的语数外总分为:{}".format(self.name, sum))20 returnsum21

22 defget_avg_of_score(self):23 avg = self.get_sum_of_score()/3

24 logging.warning("{} 的语数外平均分为:{}".format(self.name, avg))25

26 defprint_stu_info(self):27 logging.warning("我的名字叫{},年龄:{},性别:{}".format(self.name,self.age,self.sex))28

29 bing = Student("冰",20,"男",80, 88, 77)30 bing.get_sum_of_score()31 bing.get_avg_of_score()

logging实例

3. 定制输出日志

1> 设置日志收集对象: logger = logging.getLogger(日志名字)

2> 设置日志级别: logger.setLevel(日志级别),一般为INFO

3> 设置日志格式:

a> 自定义日志格式:fmt_str = "%(asctime)s %(name)s %(levelname)s %(filename)s [%(lineno)d] %(message)s"

b> 实例化一个日志格式类:formatter = logging.Formatter(fmt_str)

4> 指定日志输出渠道 - 控制台:

a> 输出到控制台(渠道):stream_handle = logging.StreamHandler()

b> 设置渠道当中的日志显示格式:stream_handle.setFormatter(formatter)

5> 指定日志输出到文件:stream_handle = logging.StreamHandler()  file_handle = logging.FileHandler(文件名)

a> 输出到文件(渠道):file_handle = logging.FileHandler(文件名)

b> 设置渠道当中的日志显示格式:file_handle .setFormatter(formatter)

6> 将渠道与日志收集器绑定起来:logger.addHandler(stream_handle )  或  logger.addHandler(file_handle )

1 importlogging2

3 #第一步: 设置日志收集器

4 logger = logging.getLogger('自动化')5

6 #第二步:设置日志级别

7 logger.setLevel('INFO')8

9 #第三步:设置日志格式

10 fmt_str = "%(asctime)s %(name)s %(levelname)s %(filename)s [%(lineno)d] %(message)s"

11 formatter =logging.Formatter(fmt_str)12

13 ## 第四步 第1种:指定日志渠道 - 控制台

14 #stream_handle = logging.StreamHandler()

15 #stream_handle.setFormatter(formatter)

16 #第四步 第2种:指定日志渠道 - 文件

17 file_handle = logging.FileHandler('mylog.txt',encoding='utf-8')18 file_handle.setFormatter(formatter)19

20 ## 第五步 第1种: 渠道与日志收集器绑定

21 #logger.addHandler(stream_handle)

22 #第五步 第2种: 渠道与日志收集器绑定

23 logger.addHandler(file_handle)24

25 #第六步: 定制的日志应用于输出日志信息

26 if __name__ == "__main__":27

28 logger.info('这是自己定制的基本日志信息')29 logger.warning('这是一条警告信息')30 logger.error('这是一条错误信息')31 logger.critical('这是一条严重错误的信息')

定制日志

控制台模块python_04_python常用模块相关推荐

  1. python shelve模块_python常用模块之shelve模块

    python常用模块之shelve模块 shelve模块是一个简单的k,v将内存中的数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据类型 我们在上面讲json.pickle ...

  2. python ansible模块_ansible常用模块

    一.ansible常用模块 模块是Ansible执行的最小单位,可以是由Python编写,也可以是Shell编写,也可以是由其他语言编写. 一.ping模块 测试连接可通性,没有参数.通的话返回pon ...

  3. python用什么来写模块-Python常用模块——模块介绍与导入

    Python常用模块--模块介绍与导入 一.什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分 ...

  4. python正则表达式模块_Python常用模块——正则表达式re模块

    Python常用模块--正则表达式re模块 引子 请从以下文件里取出所有的手机号 姓名 地区 身高 体重 电话 况咏蜜 北京 171 48 13651054608 王心颜 上海 169 46 1381 ...

  5. python常用运维模块_python常用模块之一

    sys模块: sys模块是提供关于python本身的详细内在的信息的模块. sys.executable变量,它包含python解释器的路径 sys.platform变量,告诉我们现在处于什么操作系统 ...

  6. python3常用模块_Python3 常用模块1

    os模块 通过os模块我们可以与操作系统交互, 控制文件和文件夹 对文件夹操作 # 判断是否为文件夹 os.path.isdir() # 创建文件夹 os.mkdir() # 删除文件夹 os.rmd ...

  7. python3常用模块_Python3 常用模块

    一.time与datetime模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们 ...

  8. python pp模块_python常用模块

    1.re模块 re模块用于对python的正则表达式的操作 1.1 什么是正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物 ...

  9. python loggeru模块_python常用模块——logger模块

    python的logging模块提供了通用的日志系统,熟练使用logging模块可以方便开发者开发第三方模块或者是自己的python应用. python使用logging模块记录日志涉及四个主要的类: ...

  10. python有哪几种模块_python常用模块有哪些?

    本文和大家分享的主要是python中常用几大模块相关内容,一起来看看吧,希望对大家学习python有所帮助. 一.时间模块(time) 在学习模块之前我们所接触的时间模块 import time ti ...

最新文章

  1. Docker 学习笔记之二
  2. 信号处理:傅立叶变换的波形分辨率和频率分辨率
  3. 春节礼品:iPhone 11 抱回家
  4. 几维安全Javascript代码混淆(js加密)在线使用说明
  5. group by很多字段是不是会很慢_3分钟短文 | MySQL在分组时,把多列合并为一个字段!
  6. python: 大规模数据集的读存技巧
  7. java缓存管理,一级缓存和二级缓存
  8. 【自动控制原理】 时域分析法
  9. 最新版chrome安装adblock插件
  10. 如何批量等比例缩放图片尺寸?
  11. 3d vision可以卸载吗_3D Vision是什么
  12. AMD intel CPU 型号对比
  13. 学术-物理-维空间:一维空间
  14. 操作系统——文件管理学习笔记
  15. 导致谷歌账号停用的原因
  16. 多态、虚函数举例(人与复读机)
  17. 团体程序设计天梯赛 L1-题目
  18. 计算机工程学院文艺例会,信息科学与工程学院学生会学生会全体例会暨部门风采展示大会...
  19. 阿里云性能真的是差到了极点……
  20. 推荐几款好用的Mysql图形化管理工具

热门文章

  1. 小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介
  2. 阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_05.入门程序之入门代码编写
  3. 阶段3 1.Mybatis_12.Mybatis注解开发_6 mybatis注解开发一对一的查询配置
  4. 【HDU5409】CRB and Graph 边双联通 子树最值
  5. 锦囊5-斐波那契数列
  6. shell基础09 归档数据
  7. SpringMVC:学习笔记(7)——验证器(JSR303)
  8. 二分法和牛顿迭代实现开根号函数:OC的实现
  9. 20140115-URL编码与解码
  10. SQLServer 分组查询相邻两条记录的时间差