ThinkPHP6.0.16日志配置需新建config/logger.php,驱动类名须完整、级别用default数组、path须绝对路径;目录需手动创建,命名规则可自定义;close→enable,apart_level→apart,format占位符更新,trace日志需额外启用。

ThinkPHP5.0 到 6.0.16 的日志配置迁移不是简单复制文件,核心变化在于:日志驱动从内置硬编码转向基于 think-logging 组件的可插拔设计,配置结构、路径规则和默认行为均有调整。
日志配置文件位置与格式变更
TP5 中日志配置通常混在 config/app.php 或独立 config/log.php,以数组形式定义;TP6.0.16 要求统一使用 config/logger.php(需手动创建),且必须返回标准配置数组,结构更明确:
- 不再支持
'type' => 'file'这类简写,必须指定完整驱动类名,如'type' => \think\log\driver\File::class -
'level'改为'default' => ['error', 'info']形式,支持多级别组合 -
'path'必须是绝对路径,推荐用runtime_path() . 'log/'动态生成
日志目录与文件命名规则调整
TP5 默认日志存于 runtime/log/年月/日.log,TP6.0.16 默认仍沿用该结构,但不再自动创建子目录,需确保 runtime/log/ 目录存在且可写。若需兼容旧路径,可在 config/logger.php 中显式设置:
'path' => runtime_path() . 'log/'-
'file' => date('Ym') . '/' . date('d') . '.log'(注意:此字段仅对 File 驱动有效)
关键配置项映射对照
常见 TP5 配置项在 TP6 中的等效写法:
立即学习“PHP免费学习笔记(深入)”;
-
'close' => true→ 改为'enable' => false -
'record' => false→ 已废弃,由'default'级别控制 -
'format' => '[%s][%s] %s'→ 移至'format' => '[{time}][{level}] {message}',支持占位符 -
'apart_level' => ['error']→ 改为'apart' => ['error' => true]
运行时日志行为差异处理
TP6 默认关闭调试日志(DEBUG 模式下也不记录 trace),如需恢复类似 TP5 的详细请求日志,需额外启用 trace 驱动并配置:
- 在
config/logger.php中添加'trace' => ['type' => \think\log\driver\File::class, 'path' => runtime_path() . 'trace/'] - 确保
app_debug为true,且log.trace在config/app.php中设为true



















