python学习-logging


"""
#设置输出的日志内容格式
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类结合使用。
# 两个类组合使用!!!

原文地址:https://www.cnblogs.com/qsmyjz/p/11261290.html