"""
#设置输出的日志内容格式
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. bash:加减乘除(bc、let)

    bc *. echo "$2 * $2" | bc > file let 如果只是 let a=1 和 a=1,它们没有区别,但是 let 还可以用于带赋值的运算,例如 le ...

  2. 动手造轮子:实现简单的 EventQueue

    动手造轮子:实现简单的 EventQueue Intro 最近项目里有遇到一些并发的问题,想实现一个队列来将并发的请求一个一个串行处理,可以理解为使用消息队列处理并发问题,之前实现过一个简单的 Eve ...

  3. Redshitf Install

    创建VPC 和 子网和internet网关(子网需开启自动分配公网IP,VPN 需添加到internet网关的路由) 创建安全组: 创建cluster subnet Group; 创建redshift ...

  4. 如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题

    缓存雪崩 数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机. 比如一个雪崩的简单过程: 1.redis集群大面积故障 2.缓存失 ...

  5. 2019-9-25:渗透测试,基础学习,medusa爆破学习

    Medusa(美杜莎)暴力破解使用 该文章仅供学习,利用方法来自网络文章,仅供参考 一.简介 medusa(美杜莎)是一个速度快,支持大规模并行,模块化,爆破登陆,可以同时对多个主机,用户或是密码执行 ...

  6. 记一次net/net core delete 方法报404 解决方案

    今天一个net core的delete方法 执行的时候 报404 网上查阅资料后发现是IIS 默认只允许get/post方法接入 网上查找资料后 在web.config添加如下代码: 意为移除WebD ...

  7. Glibc编译报错:*** LD_LIBRARY_PATH shouldn't contain the current directory when*** building glibc. Please change the environment variable

    执行glibc编译出错如下图 [root@localhost tmpdir]# ../configure --prefix=/usr/loacl/glibc2.9 --disable-profile ...

  8. 【Android - 问题解决】之ScrollView嵌套ListView时总是自动滑动到ListView顶部的问题

    最近做了一个项目,里面有一个ScrollView嵌套ListView的布局. 做出来之后发现,进入这个界面之后,总是自动滑动到ListView的顶部,而ScrollView中位于ListView上面的 ...

  9. centos7忘记root密码的重置方法-超简单

    忘记root密码,重置root密码8步. 1.在开机界面按e进入grub编辑模式 2.找到 ro修改为rw /sysroot/bin/sh 3.Ctrl + x 启动 4.chroot /sysroo ...

  10. MySQL详解

    MySQL详解 什么是数据库 # 用来存储数据的仓库 # 数据库可以在硬盘及内存中存储数据 # 数据库与文件存储数据区别 # 数据库本质也是通过文件来存储数据, 数据库的概念就是系统的管理存储数据的文 ...