若Python程序通过logging模块或重定向(如>>)将日志输出到文件(如app.log),可使用以下命令查看:
tail -f命令,实时显示日志文件的新增内容(适用于调试时观察实时日志)。tail -f /path/to/your/logfile.log 按Ctrl+C退出实时跟踪。less(支持翻页、搜索)或more(简单分页)命令,适合查看大型日志文件。less /path/to/your/logfile.log # 按空格翻页,/keyword搜索 grep命令过滤日志中的关键信息(如错误信息),提升查看效率。grep "ERROR" /path/to/your/logfile.log # 只显示包含"ERROR"的行 grep -i "warning" /path/to/your/logfile.log # 忽略大小写搜索"warning" 若Python程序以systemd服务形式运行(如通过systemctl start your_service启动),可通过journalctl命令查看服务关联的日志:
journalctl -u your_service_name # -u指定服务名称 journalctl -u your_service_name -f # 实时跟踪服务日志 journalctl -u your_service_name --since "2025-09-27" # 查看指定时间的日志 当日志文件过大时,可使用logrotate工具自动切割、压缩日志,保留指定数量的旧日志:
sudo apt-get install logrotate /etc/logrotate.d/目录下新建配置文件(如python_logs),内容示例如下(针对/path/to/your/logfile.log):/path/to/your/logfile.log { daily # 每天切割一次 rotate 7 # 保留最近7个日志文件 compress # 压缩旧日志(如.gz格式) missingok # 若日志文件不存在也不报错 notifempty # 若日志为空则不切割 copytruncate # 复制原日志后清空,避免程序重启 } sudo logrotate -f /etc/logrotate.d/python_logs 确保Python程序使用logging模块正确配置日志,将日志输出到文件并设置合适的级别(如DEBUG、INFO、WARNING等)。示例配置:
import logging # 基础配置(推荐) logging.basicConfig( filename='/path/to/your/logfile.log', # 日志文件路径 level=logging.INFO, # 日志级别(DEBUG/INFO/WARNING/ERROR/CRITICAL) format='%(asctime)s - %(levelname)s - %(message)s', # 日志格式(含时间、级别、消息) datefmt='%Y-%m-%d %H:%M:%S' # 时间格式 ) # 记录日志 logging.info("程序启动成功") logging.error("发生错误:无法连接数据库") 运行Python脚本后,日志将写入指定文件,可通过上述方法查看。
ps aux | grep python命令查找Python进程的命令行参数,确认日志文件位置。