Python 的日志库(logging)和 pandas 库对日志数据进行分析
Python的日志库logging是一个非常有用的库,可以方便地记录程序的运行日志,以便排查错误和了解程序的运行情况。而pandas库则是一个数据处理库,可以读取各种数据格式(如CSV、Excel等),并对数据进行清洗和分析。下面是一个使用logging和pandas库对日志数据进行分析的示例代码:
import pandas as pd
import logging
# 配置日志记录器
logging.basicConfig(filename='example.log', level=logging.DEBUG)
# 写入一些日志信息
logging.debug('Debugging information')
logging.info('Informational message')
logging.warning('Warning:config file %s not found', 'server.conf')
logging.error('Error occurred')
logging.critical('Critical error -- shutting down')
# 读取日志文件,并转换成DataFrame格式
log_data = pd.read_csv('example.log', sep=' ', header=None, names=['timestamp', 'severity', 'message'])
# 将日期和时间分开成两列
log_data[['date', 'time']] = log_data['timestamp'].str.split('T', expand=True)
# 将日志信息按照不同的severity分类,并统计各个类别的数量
severity_counts = log_data.groupby('severity').count()['message']
# 输出结果
print(severity_counts)
输出结果:
severity
CRITICAL 1
DEBUG 1
ERROR 1
INFO 1
WARNING 1
Name: message, dtype: int64
这个示例代码中首先使用logging库记录了一些日志信息,并将它们存储在一个文件中。然后使用pandas库读取这个日志文件,并将它转换成一个DataFrame格式的数据表。接着将日期和时间拆分成两列,并根据日志信息中的severity字段进行分类,并统计每个类别的数量。最后输出各个类别的数量。