ThinkPHP日志系统可提升调试效率,需配置log.php或.env文件启用;通过Log::info、Log::error等方法手动记录,支持自动捕获异常;日志按日期存储于runtime/log/,可用tail、grep查看,结合级别、时间、IP追踪问题。

ThinkPHP 自带的日志系统非常实用,能帮助开发者快速定位错误、追踪程序执行流程。使用得当,可以大幅提升调试效率。下面介绍 ThinkPHP 日志系统的使用方法、日志记录方式以及如何查看和追踪错误。
开启与配置日志功能
在 ThinkPHP 项目中,默认情况下日志功能是开启的,但建议检查并根据需要调整配置。
打开 config/log.php 文件(或在 config/app.php 中配置 log 相关项),确保以下设置:
'default' => 'file', // 使用文件驱动记录日志 'level' => ['error', 'warning', 'info', 'sql'], // 记录哪些级别的日志 'type' => 'File', // 日志写入类型 'path' => '', // 日志存储路径,默认为 runtime/log/也可以通过 .env 文件设置环境相关日志级别,例如:
立即学习“PHP免费学习笔记(深入)”;
LOG_LEVEL=error,warning,info手动记录日志信息
在控制器或模型中,可以通过 \think\facade\Log 类写入日志。
Log::info('用户登录成功', ['uid' => 123]); Log::error('数据库连接失败', ['error' => $e->getMessage()]); Log::warning('缓存未命中,使用默认值'); Log::sql('SQL语句执行', ['sql' => $sql]);这些日志会按照日期生成文件,保存在 runtime/log/年/月/day.log 中。
自动记录错误与异常
ThinkPHP 在发生错误或抛出异常时会自动记录日志,无需手动调用。
BeatBot Splash的AI音乐生成器,AI歌曲制作人!
165 查看详情
例如:
try { db('user')->find(999);} catch (\Exception $e) { // 错误会被自动记录,也可手动补充 Log::error('查询用户出错:' . $e->getMessage()); throw $e;}同时,框架的调试模式开启后(app_debug = true),会在页面底部显示 SQL 和错误摘要,便于开发阶段排查。
查看日志文件与错误追踪
日志文件位于 runtime/log/ 目录下,按年月日分目录存储。每个文件包含当天该级别的日志条目。
查看方法:
直接打开对应日期的 log 文件,搜索关键词如 [error]、[sql] 或自定义标记 使用 tail 命令实时监控:tail -f runtime/log/202504/05.log 结合 grep 过滤:grep "\[error\]" runtime/log/202504/*.log每条日志格式类似:
[2025-04-05T10:23:01+08:00] [error] [ip:127.0.0.1] 数据库连接失败 [uid:123]可根据时间、级别、IP、内容进行追踪,快速定位问题源头。
基本上就这些。合理使用 ThinkPHP 的日志功能,能让开发和运维更轻松。关键是配置好级别、定期查看,并在关键逻辑中加入有意义的日志信息。
以上就是ThinkPHP日志系统怎么用_ThinkPHP日志记录查看及错误追踪方法的详细内容,更多请关注php中文网其它相关文章!



