新闻中心
ThinkPHP日志系统怎么用_ThinkPHP日志记录查看及错误追踪方法
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 文件设置环境相关日志级别,例如:
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 在发生错误或抛出异常时会自动记录日志,无需手动调用。
例如:
PictoGraphic
AI驱动的矢量插图库和插图生成平台
133
查看详情
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中文网其它相关文章!
# 相关文章
# 让微博营销号推广自己
# 数码推广网站哪个好做些
# 河池网站推广哪家好用些
# 安徽关键词优化排名推广
# 简单网站建设服务热线
# 省心的网站优化工具
# 甘肃省网站建设报价
# 从头开始浅谈seo
# seo又称为seo黑帽
# 太仓网站建设教案设计
# 事件中
# 能让
# 中文网
# php
# 也可
# 并在
# 会在
# 可以通过
# 键名
# 组中
# 2025
# sql语句
# ai
# app
# cad
# thinkphp
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
淘宝支付提示失败如何解决 淘宝支付流程优化方法
魅族20怎样在浏览器开无图省流_iPhone魅族20浏览器开无图省流【流量节省】
qq浏览器打开空白页怎么办 qq浏览器启动后显示白屏的解决教程
12306选座如何查看座位示意图_12306座位示意图解读与使用
AWS EC2实例间SQL Server连接超时:安全组配置与故障排除指南
Win10怎么设置静态IP地址 Win10手动配置IP地址步骤【指南】
网易大神怎么保存别人动态的图片_网易大神动态图片保存方法
React/Next.js中实现列表项的动态移动与状态管理:兼论唯一键的重要性
Angular中父组件异步更新子组件复选框状态的实践指南
微信聊天记录怎么加密_微信聊天记录加密方法
蛙漫移动版在线看 蛙漫手机浏览器直达入口
Centos/Linux 系统下安装 composer 的完整步骤
C++的std::forward_list怎么用_C++ STL中单向链表容器的特点与应用
AI抖音网页版免费视频入口 AI抖音网页端最新视频实时观看
天眼查怎么看公司融资情况 天眼查企业融资历史查询步骤【攻略】
抖音创作助手登录入口_抖音创作辅助工具官网直达
Go语言中JSON数据解析与字段访问教程
文本文档写html代码怎么运行_文本文档html代码运行步骤【教程】
蛙漫安全无毒 官方认证的绿色入口
mc.js官网登录入口 mc.js官方登录入口最新版
PySpark中高效提取字符串右侧可变长度数字:使用regexp_extract
vivo手机互传视频怎么操作_vivo手机互传视频详细传输方法
服务端验证_j*ascript输入检查
Golang如何实现微服务鉴权与权限控制_Golang微服务鉴权与权限管理实践
如何使用CaptainHook和Composer管理Git钩子_在提交前自动运行代码检查的Composer配置
在python-socketio事件处理器中安全访问Flask应用上下文
Win10如何恢复误删的快捷方式_Win10重建常用软件快捷方式
在J*a中如何捕获IndexOutOfBoundsException_索引越界异常防护方法说明
怎么在浏览器上运行HTML文件_浏览器运行HTML文件技巧【技巧】
Yandex官网免登录入口_俄罗斯Yandex搜索引擎一键访问
解决Bootstrap卡片顶部边距导致背景图下移的问题
age动漫网站入口 age动漫官网直接访问入口
漫蛙manwa2最新登录网址_漫蛙manwa2手机网页版入口
小米14应用无法联网原因分析_小米14网络权限修复
React Hooks最佳实践:动态组件状态管理的组件化方案
谷歌学术网站直达地址 谷歌学术搜索网页版一键进入
12306怎么选座位选到安静区_12306选座安静区域选择策略
PySpark中从现有列右侧提取可变长度字符创建新列的教程
TikTok网页版直接登录 TikTok网页端官方平台入口
QQ邮箱官方登录入口_QQ邮箱网页版快捷使用平台
《噬血代码2》新预告片发布 展示游戏剧情
R星幕后开发视频泄露 包含《GTA6》等多款大作
windows10怎么查看本机ip_windows10命令提示符ipconfig使用
护手霜蹭到袖口上了如何清洗? 怎样避免留下一圈油印?
Windows10怎么开启夜间模式 Windows10系统设置调整色温与亮度缓解夜间用眼疲劳【教程】
谷歌google账号注册详细步骤 谷歌账号注册官方教程
如何使 Jest 模拟函数默认抛出错误以提高测试效率
Windows10怎么开启存储感知 Windows10系统设置自动清理临时文件释放C盘空间【教程】
Win11如何使用Windows Sandbox Win11沙盒功能开启与使用教程【详解】
sublime怎么覆盖插件的默认快捷键_sublime快捷键优先级与设置


2025-11-23
浏览次数:次
返回列表