本文介绍: 在 Python 中,实现日志收集分析方法有很多,这里我为您介绍一个简单示例使用 Python日志库(logging)和 pandas 库对日志数据进行分析。以上代码模拟日志数据保存到 CSV 文件,并使用 pandas 对其进行简单的统计和分析。这些日志记录将分别对应不同的日志级别,从低到高依次为:DEBUG、INFO、WARNING、ERROR、CRITICAL。4. 运行上述代码后,您将在当前目录下看到一个名为 app.log 的日志文件,其中包含了您刚刚记录的日志。

专栏集锦,大佬们可以收藏以备不时之需

Spring Cloud实战专栏https://blog.csdn.net/superdangbo/category_9270827.html

Python 实战专栏https://blog.csdn.net/superdangbo/category_9271194.html

Logback 详解专栏https://blog.csdn.net/superdangbo/category_9271502.html

tensorflow专栏https://blog.csdn.net/superdangbo/category_8691332.html

Redis专栏:https://blog.csdn.net/superdangbo/category_9950790.html

Spring Cloud实战

Spring Cloud 实战 | 解密Feign底层原理,包含实战源码

Spring Cloud 实战 | 解密负载均衡Ribbon底层原理,包含实战源码

1024程序员节特辑文章

1024程序员狂欢节特辑 | ELK+ 协同过滤算法构建个性化推荐引擎,智能实现“千人千面”

1024程序员节特辑 | 解密Spring Cloud Hystrix熔断提高系统的可用性和容错能力

1024程序员节特辑 | ELK+ 用户画像构建个性化推荐引擎,智能实现“千人千面”

1024程序员节特辑 | OKR VS KPI谁更合适?

1024程序员节特辑 | Spring Boot实战 之 MongoDB分片或复制集操作

Spring实战系列文章

Spring实战 | Spring AOP核心秘笈之葵花宝典

Spring实战 | Spring IOC不能说的秘密?

国庆中秋特辑系列文章

国庆中秋特辑(八)Spring Boot项目如何使用JPA

国庆中秋特辑(七)Java软件工程师常见20道编程面试题

国庆中秋特辑(六)大学生常见30道宝藏编程面试题

国庆中秋特辑(五)MySQL如何性能调优?下篇

国庆中秋特辑(四)MySQL如何性能调优?上篇

国庆中秋特辑(三)使用生成对抗网络(GAN)生成具有节日氛围的画作,深度学习框架 TensorFlow 和 Keras 来实现

国庆中秋特辑(二)浪漫祝福方式 使用生成对抗网络(GAN)生成具有节日氛围的画作

国庆中秋特辑(一)浪漫祝福方式 用循环神经网络(RNN)或长短时记忆网络(LSTM)生成祝福诗词

1、Pythonlogging日志库

Python 的日志库(logging)提供了一个灵活的日志记录系统。以下是如何使用 Pythonlogging 库进行日志记录的简单示例:

  1. 首先,导入 logging 库:
import logging  
  1. 接下来配置日志记录的基本设置,例如日志级别、日志格式和日志文件名:
logging.basicConfig(level=logging.DEBUG,  
                    format='%(asctime)s - %(levelname)s - %(message)s',  
                    filename='app.log',  
                    filemode='w')  

这里,我们将日志级别设置为 DEBUG,日志格式时间 - 级别 - 消息,并将日志记录保存到名为 app.log 的文件中。
3. 然后使用 logging 库的不同级别和方法进行日志记录:

logging.debug('This is a debug log.')  
logging.info('This is an info log.')  
logging.warning('This is a warning log.')  
logging.error('This is an error log.')  
logging.critical('This is a critical log.')  

这些日志记录将分别对应不同的日志级别,从低到高依次为:DEBUG、INFO、WARNING、ERROR、CRITICAL。
4. 运行上述代码后,您将在当前目录下看到一个名为 app.log 的日志文件,其中包含了您刚刚记录的日志。文件内容如下:

2021-01-01 12:34:56,789 - DEBUG - This is a debug log.  
2021-01-01 12:34:56,789 - INFO - This is an info log.  
2021-01-01 12:34:56,789 - WARNING - This is a warning log.  
2021-01-01 12:34:56,789 - ERROR - This is an error log.  
2021-01-01 12:34:56,789 - CRITICAL - This is a critical log.  

以上示例展示了如何使用 Python 的 logging 库进行基本的日志记录。您可以根据实际需求调整日志级别、格式和其他设置。如果您希望同时在控制台和文件中输出日志,可以不设置filemode参数,这样日志将同时输出控制台和文件。此外,您还可以使用handlers参数配置日志处理器,以实现更复杂的日志记录需求。

2、使用 Python 的日志库(logging)和 pandas 库对日志数据进行分析

在 Python 中,实现日志收集和分析的方法有很多,这里我为您介绍一个简单的示例,使用 Python 的日志库(logging)和 pandas 库对日志数据进行分析。
首先,请确保已安装 pandas 库,如果尚未安装,请使用以下命令进行安装

pip install pandas  

以下是一个简单的 Python 日志收集和分析示例:

  1. 导入所需的库:
import logging  
import pandas as pd  
  1. 设置日志格式
logging.basicConfig(level=logging.DEBUG,  
                    format='%(asctime)s - %(levelname)s - %(message)s')  
  1. 模拟日志数据
log_data = [  
    {'timestamp': '2021-01-01 00:00:00', 'level': 'DEBUG', 'message': 'This is a debug log.'},  
    {'timestamp': '2021-01-01 00:01:00', 'level': 'INFO', 'message': 'This is an info log.'},  
    {'timestamp': '2021-01-01 00:02:00', 'level': 'WARNING', 'message': 'This is a warning log.'},  
    {'timestamp': '2021-01-01 00:03:00', 'level': 'ERROR', 'message': 'This is an error log.'},  
]
  1. 将日志数据保存到 CSV 文件:
import os
if not os.path.exists('logs'):  
    os.makedirs('logs')
with open('logs/log_data.csv', 'w', newline='', encoding='utf-8') as csvfile:  
    fieldnames = ['timestamp', 'level', 'message']  
    writer = pd.writer(csvfile, fieldnames=fieldnames)  
    writer.writerow(fieldnames)  
    for log in log_data:  
        writer.writerow(log)  
  1. 使用 pandas 读取 CSV 文件,并对其进行分析:
import pandas as pd
log_df = pd.read_csv('logs/log_data.csv')
# 按日志级别统计数
level_counts = log_df['level'].value_counts()  
print("日志级别统计:")  
print(level_counts)
# 按时间分析日志  
hour_counts = log_df.groupby('timestamp').hour().value_counts()  
print("n按小时统计:")  
print(hour_counts)
# 按日志级别和时间进行分组,统计日志数量  
grouped_logs = log_df.groupby(['level', 'timestamp']).size().unstack(fill_value=0)  
print("n按级别和时间分组的日志数量:")  
print(grouped_logs)  

以上代码将模拟的日志数据保存到 CSV 文件,并使用 pandas 对其进行简单的统计和分析。实际应用中,您可以根据需要修改日志收集和分析的逻辑

原文地址:https://blog.csdn.net/superdangbo/article/details/134279026

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_6907.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注