专栏集锦,大佬们可以收藏以备不时之需
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、Python中logging日志库
Python 的日志库(logging)提供了一个灵活的日志记录系统。以下是如何使用 Python 的 logging 库进行日志记录的简单示例:
- 首先,导入 logging 库:
import logging
- 接下来,配置日志记录的基本设置,例如日志级别、日志格式和日志文件名:
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 日志收集和分析示例:
- 导入所需的库:
import loggingimport pandas as pd
- 设置日志格式:
logging.basicConfig(level=logging.DEBUG,format='%(asctime)s - %(levelname)s - %(message)s')
- 模拟日志数据:
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.'},]
- 将日志数据保存到 CSV 文件:
import osif 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)
- 使用 pandas 读取 CSV 文件,并对其进行分析:
import pandas as pdlog_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 对其进行简单的统计和分析。实际应用中,您可以根据需要修改日志收集和分析的逻辑。