ThinkPHP默认开启日志功能,配置位于config/log.php或app.php中,日志存储路径为runtime/log/年/月/日.log,支持error、warning、info、sql等级别,可通过文件查看、命令行tail -f或调试工具监控,开发者也可使用Log::info()、Log::error()等方法手动记录日志。

ThinkPHP 的日志功能可以帮助开发者快速定位问题、排查错误和监控程序运行状态。默认情况下,ThinkPHP 会自动记录运行中的错误、警告和调试信息。下面介绍如何开启日志、日志的存储位置以及查看方法。
日志默认配置与开启
ThinkPHP 从5.0版本开始,默认开启了日志功能。日志配置文件通常位于 config/log.php 或在 config/app.php 中设置。常见配置项包括:
- type:日志类型,如 file(文件记录)
- path:日志文件保存路径,默认为 runtime/log/
- level:记录的日志级别,如 error、warning、info、sql 等
确保配置中启用了日志写入,例如:
'log' => ['type' => 'File',
'path' => '',
'level' => ['error', 'warning', 'sql']
],
日志文件存储位置
ThinkPHP 使用文件方式记录日志时,日志文件存放在项目根目录下的:
立即学习“PHP免费学习笔记(深入)”;
runtime/log/年/月/日.log例如:
每个文件按天分割,内容包含时间、级别、消息类型和具体信息,格式如下:
[2024-04-15 10:23:01] ERROR.1: SQLSTATE[42S02]: Base table not found... [2024-04-15 10:24:10] WARNING.1: Invalid argument supplied for foreach()...
手动记录日志
除了系统自动记录外,开发者也可以主动写入日志,便于调试。使用 Log 类即可:
\think\facade\Log::info('用户登录成功', ['uid' => 123]);\think\facade\Log::error('数据库连接失败', [$e->getMessage()]);
支持的方法有:debug、info、warning、error 等,对应不同级别。
查看日志的几种方式
- 直接打开 runtime/log 目录下的日志文件,用文本编辑器查看
- 通过命令行使用 tail -f 实时监控日志输出:
tail -f runtime/log/2024/04/15.log - 在开发环境中结合浏览器调试工具或 ThinkPHP 自带的调试页面查看错误信息
- 部署到服务器后,可通过日志分析工具或 ELK 等集中管理日志
基本上就这些。只要确保日志功能开启,路径可写,就能顺利记录和查看 ThinkPHP 应用的运行情况。遇到问题时,第一时间查看日志是最有效的排查手段。










