"""
#设置输出的日志内容格式
fmt = '%(asctime)s %(filename)s %(funcName)s [line:%(lineno)d] %(levelname)s %(message)s'
datefmt = '%a, %d %b %Y %H:%M:%S'
"""
# datetime ===

# 日志操作
# .log 文件形式
# 日志级别、时间、信息展示
# 日志的作用:记录了执行过程。程序干了什么,做了什么事情。

# 标准库 - logging
import logging

logging.debug("我是一条,debug级别的日志!!")
logging.info("我是一条,info级别的日志!!")
logging.warning("我是一条,warning级别的日志!!")
logging.error("我是一条,error级别的日志!!")
logging.critical("我是一条,critical级别的日志!!")

# info级别以上的,才会打印。info和debug是不打印的。
# 设置显示哪些级别的日志!!! ---设置操作。
# 默认的日志收集器rootLogger,它默认的显示的日志级别为:WARN

# 设置显示的级别,来决定哪些日志可以输出。

# 定义一个自己的日志收集器。我自己来决定显示哪些级别的日志。
logger = logging.getLogger("py17")
# 设置输出级别
print("=================================")
# logger.setLevel("INFO")
logger.setLevel(logging.INFO)
logger.info("我是一条,info级别的日志!!")
logger.warning("我是一条,warning级别的日志!!")
logger.error("我是一条,error级别的日志!!")
logger.debug("我是一条,debug级别的日志!!")

# 想设置日志内容呈现的形式。
# 专门的类:Formatter
# logging.Formatter(fmt,datefmt)
fmt = '%(asctime)s %(filename)s %(funcName)s [line:%(lineno)d] %(levelname)s %(message)s'
ft = logging.Formatter(fmt)

# handle === 输出渠道。控制台?文件?日志输出到哪里.容器。
handler1 = logging.StreamHandler() # 日志内容输出到控制台
handler1.setFormatter(ft) # 确定控制台当中,日志内容的呈现格式

# 将格式绑定到日志收集器py17 -- 不能直接绑定。
logger.addHandler(handler1)
logger.info("我是一条,info级别的日志!!")

# 日志收集器-logger handler - 输出渠道 formatter -- 日志内容的呈现样式
# 1、创建一个自己的日志收集器 - logger = getLogger("py17")
# 2、设置显示的日志级别 - logger.setLevel()

# 如果你想改变默认的输出样式
# 3、创建一个handler - handler1 = logging.StreamHandler() - 输出在哪里。
# 4、创建一个formatter - ft = logging.Formatter(fmt) - 输出的日志样式
# 5、设置handler的日志输出样式 - handler1.setFormatter(ft)
# 6、绑定到日志收集器当中。 logger.addHandler(handler1)

# 下节课:日志输出到文件-处理。 --- 定义一个自己的日志类!!
# 如果与excel类结合使用。
# 两个类组合使用!!!

python学习-logging的更多相关文章

  1. day27 python学习 logging

    logging模块 函数式简单配置 import logging logging.debug('debug message') logging.info('info message') logging ...

  2. [python 学习] logging模块

    1.将简单日志打印到屏幕: import logging logging.debug('debug message') logging.info('info message') logging.war ...

  3. Python模块学习 ---- logging 日志记录

    许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪.在.NET平台中,有非常著名的第三方开源日志组件log4net,c++中,有人们熟悉的log4cp ...

  4. python学习之logging

    学习地址:http://blog.csdn.net/zyz511919766/article/details/25136485 首先如果我们想简要的打印出日志,可以: import logging l ...

  5. python学习笔记二:(python3 logging函数中format说明)

    背景,在学习logging时总是遇到无法理解的问题,总结,尝试一下更清晰明了了,让我们开始吧! logging模块常用format格式说明 %(levelno)s: 打印日志级别的数值 %(level ...

  6. Python学习笔记——基础篇【第六周】——logging模块

    常用模块之logging 用于便捷记录日志且线程安全的模块 import logging logging.basicConfig(filename='log.log', format='%(ascti ...

  7. python学习第五十二天logging模块的使用

    很多程序都有记录日志的需求,并且日志包含的信息即有正常的程序访问日志,还可能有错误,警告等信息输出,python的 logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...

  8. python学习之路 第六天

    1.正则表达式 re.match() 从头匹配: re.match("[0-9]","123abc789") 只匹配一个数字: re.match("[ ...

  9. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

随机推荐

  1. Linux定时任务 crontab(-l -e)、at、batch

    1.周期性定时任务crontab cron['krɒn] 一时间单位  table crontab -e 进入编辑定时任务界面,每一行代表一个定时任务,#开头的行为注释行,一行分成6列 分钟 小时 日 ...

  2. [springboot 开发单体web shop] 8. 商品详情&评价展示

    上文回顾 上节 我们实现了根据搜索关键词查询商品列表和根据商品分类查询,并且使用到了mybatis-pagehelper插件,讲解了如何使用插件来帮助我们快速实现分页数据查询.本文我们将继续开发商品详 ...

  3. 万恶之源-python内容的进化

    1.整数: ​ int--计算和比较 ​ 整数可以进行的操作: ​ bit_length().计算整数在内存中占用的二进制码的长度 2.布尔值 ​ bool 布尔值--用于条件使用 ​ True 真 ...

  4. 《master the game of GO wtth deep neural networks and tree search》研究解读

    现在”人工智能“如此火爆的一大直接原因便是deepmind做出的阿尔法狗打败李世石,从那时开始计算机科学/人工智能成为了吹逼的主流.记得当时还是在学校晚新闻的时候看到的李世石输的消息,这个新闻都是我给 ...

  5. 计蒜客 The Preliminary Contest for ICPC Asia Nanjing 2019

    F    Greedy Sequence You're given a permutation aa of length nn (1 \le n \le 10^51≤n≤105). For each  ...

  6. Android Saripaar 注解详解

    写这篇文章的原因 在移动端一般很少使用复杂的表单,一般针对于属性的更改都会打开一个新的页面进行更改.虽然不多,但是也会有.如果一个页面要输入的内容包括姓名.地址.邮箱.手机号等,对各个属性的验证会非常 ...

  7. 更强的 JsonPath 兼容性及性能测试

    更强的 JsonPath 兼容性及性能测试 最近给自己的json框架snack3添加了json path支持.搞好之后,找了两个市面上流行框架比较性测试,以助自己改进框架的性能和兼容性. 测了一圈之后 ...

  8. Java基础IO类之对象流与序列化

    对象流的两个类: ObjectOutputStream:将Java对象的基本数据类型和图形写入OutputStream ObjectInputStream:对以前使用ObjectOutputStrea ...

  9. python函数-函数对象

    python函数-函数对象 实验室 当函数定义时,就类似a=1,以函数名为变量名 def zx(): pass print(zx) zx=21 print(zx) <function zx at ...

  10. AutoCad 二次开发 jig操作之标注跟随线移动

    AutoCad 二次开发 jig操作之标注跟随线移动 在autocad当中,我认为的jig操作的意思就是即时绘图的意思,它能够实时的显示出当前的操作,以便我们直观的感受到当前的绘图操作是什么样子会有什 ...