当我们编写Python程序时,我们经常需要记录一些重要的信息,如调试信息、错误信息等。为了更好地跟踪程序的运行情况,以及及时发现和解决问题,我们通常需要使用日志记录器(logger)来保存这些信息。
Python中有多个日志记录库可供选择,比如标准库中的logging模块,以及常用的第三方库loguru和pylog, 我们以logging为例来讲解“python保存log日志,实现用log日志画图”的完整攻略。
1. 安装logging库
Python内置了logging库,因此我们不需要额外安装。
2. 配置logging
我们需要对logging进行配置,来定义哪些信息需要被记录,以及保存到哪里。下面是一个基本的logging配置示例:
import logging
logging.basicConfig(filename='example.log', level=logging.INFO)
这个示例中,我们将日志保存到了文件example.log中,并记录了所有的INFO级别的信息。如果想记录DEBUG级别的信息,只需要将level设置为logging.DEBUG即可。
3. 记录日志
一旦配置完成,我们就可以开始使用logger,并记录我们想要的信息。比如:
import logging
import math
logging.info("This is a log message.")
logging.debug(f"Value of pi is {math.pi}")
这个示例记录了一条INFO级别的信息以及一条DEBUG级别的信息,分别包含了一些文本和一个数学计算结果。
4. 读取日志
一定时间后,我们可以读取已记录的日志,来跟踪程序的运行情况。下面是一个简单的读取日志文件并打印出所有日志记录的示例:
import logging
logging.basicConfig(filename='example.log', level=logging.INFO)
with open('example.log', 'rt') as f:
for line in f:
line = line.strip()
print(line)
使用上述代码,我们可以轻松读取example.log文件,并打印出其中所有日志信息。
5. 实现用log日志画图
最后,我们来看一个使用Python logging库将数据保存到log文件并画图的示例,主要使用了numpy和matplotlib两个库:
import logging
import numpy as np
import matplotlib.pyplot as plt
logging.basicConfig(filename='data.log', level=logging.INFO)
# 生成数据
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 记录数据
for i, (xx, yy) in enumerate(zip(x, y), start=1):
logging.info(f"{i} {xx} {yy}")
# 读取数据并画图
xx, yy = np.loadtxt('data.log', unpack=True)
plt.plot(xx, yy)
plt.show()
这个示例生成了一些数据,并将数据的编号、x坐标、y坐标记录到了data.log文件中。最后,使用numpy从log文件中读取数据,并使用matplotlib来画图。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python保存log日志,实现用log日志画图 - Python技术站