在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處理日志內容。注意:確保日志文件路徑可寫,定期清理舊日志,敏感信息需脫敏處理。