Linux下ThinkPHP日志管理技巧
小樊
44
2025-08-17 13:35:04
一、日志配置
- 修改配置文件:在
application/config.php 或 config/log.php 中设置日志级别(DEBUG/INFO/WARN/ERROR/FATAL)、存储路径(默认 runtime/log/)及记录方式(file/database/syslog等)。
- 自定义处理器:可封装Monolog工具类,支持多通道日志拆分、格式化(如添加请求ID)。
二、日志查看
- 命令行工具:使用
php think log 查看所有日志,或通过 tail -f 实时跟踪。
- 图形化工具:通过ELK Stack、Graylog等集中管理,支持搜索、可视化分析。
三、日志清理
- 手动删除:直接删除
runtime/log/ 目录下文件。
- 定时任务:用Linux
cron 定期清理,如每天删除7天前日志,或通过ThinkPHP自定义指令实现。
- 日志轮转:配置
logrotate 按天/大小拆分日志,保留指定天数。
四、权限与性能
- 权限设置:确保
runtime/log/ 目录可写,建议 chmod -R 755 并指定用户组。
- 避免大文件:通过配置
max_file_size 限制单文件大小,或启用按天拆分。
五、高级管理
- 集中式日志:通过rsyslog/syslog-ng将日志发送至远程服务器,实现多服务器日志聚合。
- 告警机制:结合ELK Stack或Graylog设置异常日志告警(如ERROR级别日志触发邮件通知)。