15.python日志模块

1、什么是日志?
日志是一种可以追踪某些软件运行时所发生事件的方法。

2、日志的作用
1、程序调试

2、了解软件程序运行情况,是否正常

3、软件程序运行故障分析与问题定位

3、日志等级
日志级别分别从低到高:
debug 调试信息
info 关键时间说明
warning 警告信息
error 错误信息
critical 严重错误信息


4、如何实现日志的收集

1、logging模块

logging模块是Python内置的标准模块,主要用于输出运行日志,可以设

置输出日志的等级、日志保存路径、日志文件回滚等。


2、如何实现日志输出

1)第一种方式是使用logging提供的模块级别的函数

# 第一种方式是使用logging提供的模块级别的函数

import time

format="%(asctime)s %(name)s ,文件: %(filename)s 函数: %(funcName)s ,行号:%(lineno)d , %(levelname)s %(message)s"
logging.basicConfig(format=format,
datefmt="%Y/%m/%d %H:%M:%S",
level=logging.DEBUG,
filename='{}_log.txt'.format(time.strftime('%Y_%m_%d_%H_%M_%S',time.localtime()))
)
logging.debug("debug级别错误信息")

def sum(a,b):
try:
sum=a+b
except Exception as error:
logging.debug(error)


2)第二种方式是使用Logging日志系统的四大组件

1、日志器 logger
2、处理器 handler
3、过滤器 filter
4、格式器 formattor

关系:日志器是入口,一个日志器可以多个处理器,每个处理器都有对应的过滤器和格式器

如何python实现日志收集“

# 第二种方式是使用Logging日志系统的四大组件
logger=logging.getLogger("logger")
#日志输出的最低级别(忽略当前最低级别以下级别的日志信息)
logger.setLevel(logging.ERROR)
# 创建控制台处理
sh=logging.StreamHandler()
# 创建文件处理器
fh=logging.FileHandler(filename="{}_log2.txt".format(time.strftime('%Y_%m_%d_%H_%M_%S',time.localtime()))
,encoding="utf-8")
# 把控制台处理器添加到日志器中
logger.addHandler(sh)
# 指定格式器显示的格式
formatter=logging.Formatter(fmt="%(asctime)s %(name)s ,文件: %(filename)s 函数: %(funcName)s ,行号:%(lineno)d , %(levelname)s %(message)s",
datefmt="%Y/%m/%d %H:%M:%S")
# 控制台处理器指定格式
sh.setFormatter(formatter)
# 添加文件处理器到日志器
logger.addHandler(fh)
# 文件处理器设置格式
fh.setFormatter(formatter)
logger.warning("警告信息")
logger.error("错误信息")
logger.critical("严重错误信息")









原文地址:https://www.cnblogs.com/Murraya/p/14020612.html