在CentOS上分析Python日志可参考以下方法:
日志收集与存储
logging
模块将日志写入文件,配置日志级别(如DEBUG
、ERROR
)和格式,例如:import logging
logging.basicConfig(filename='app.log', level=logging.ERROR,
format='%(asctime)s - %(levelname)s - %(message)s')
logrotate
工具设置日志轮转,避免文件过大,配置示例:# /etc/logrotate.d/python_app
/var/log/app/*.log {
daily rotate 7
compress
missingok
}
日志查看与检索
cat /var/log/app/app.log
tail -f /var/log/app/app.log
grep 'ERROR' /var/log/app/app.log
日志分析工具
pandas
库解析日志文件,统计错误频率等,示例:import pandas as pd
logs = pd.read_csv('app.log', sep=' - ', names=['time', 'level', 'message'])
error_logs = logs[logs['level'] == 'ERROR']
print(f"错误日志数量: {len(error_logs)}")
matplotlib
绘制日志趋势图,或使用ELK Stack(Elasticsearch+Logstash+Kibana)进行高级可视化。高级管理场景
rsyslog
或syslog-ng
将Python日志发送到远程服务器,配合ELK等工具分析。logging.Filter
过滤特定日志,或自定义Handler处理日志内容。注意:确保日志文件路径可写,定期清理旧日志,敏感信息需脱敏处理。