日志写不进去主因是未清config:cache、storage/logs权限不足或log_level设为error:需执行php artisan config:clear,确保www-data对storage/logs有写权,并将log_level设为debug以记录info及以上级别日志。

日志文件写不进去,90% 是 config:cache 没清、storage/logs 权限不对,或者 LOG_LEVEL 被设成了 error——不是代码没调 Log::info(),而是环境压根没让日志落盘。
storage/logs/laravel.log 为空?先查这三件事
常见现象:调了 Log::error('test'),但 storage/logs/laravel.log 里啥也没有;或只在本地有日志,上线后就消失。
-
LOG_CHANNEL配置是否生效?检查.env中是否写了LOG_CHANNEL=stack(或single),并确认config/logging.php里对应 channel 的path确实指向storage_path('logs/laravel.log') - 配置缓存是否过期?改完
.env或config/logging.php后,必须运行php artisan config:clear——开发中别跳这步,config:cache反而可能锁死新配置 -
storage/logs/目录权限够吗?Linux 下常见错误是 Web 用户(如www-data)无写入权,用ls -l storage/logs看属组,再执行chmod -R 755 storage/logs和chown -R www-data:www-data storage/logs
tail -f 看不到实时日志?别急着重装包
现象:执行 php artisan tail 报错 “command not found”,或运行后没输出、卡住、中途断连。
- 确认是否已安装官方推荐的
spatie/laravel-tail(不是 Laravel 自带命令);composer require spatie/laravel-tail后还要php artisan vendor:publish --provider="Spatie\Tail\TailServiceProvider" -
tail命令依赖日志文件存在且持续写入,如果laravel.log本身为空,tail -f就会静默等待——先手动触发一次Log::info('ping')确保有内容 - 宝塔等面板环境常因日志文件过大(>100MB)导致
tail失效,可临时用tail -n 50 storage/logs/laravel.log验证基础读取能力
ERROR 找得到,但 DEBUG/INFO 不见?看 LOG_LEVEL 和通道定义
现象:Log::debug() 不落盘,但 Log::error() 正常;或 daily 通道写进去了,stack 却没反应。
-
LOG_LEVEL默认是 production 环境下的error,开发时务必设为debug,否则debug/info级别直接被过滤掉 -
stack通道是聚合器,它是否包含single或daily?打开config/logging.php查'stack' => ['channels' => ['single']],如果写成['files']而实际没定义fileschannel,日志就丢了 - Monolog 的
level是「最低记录级别」,level => 'debug'表示debug及以上(info、error……)都记;level => 'error'则debug/info全被忽略
日志内容看不懂?重点盯 message、context 和堆栈末尾
Laravel 日志是 JSON 格式(默认)或单行文本(single 驱动),但真正有用的线索不在开头的 timestamp 或 level,而在 message 字段的原始异常描述,以及 context 里传入的变量快照(比如 DB 查询参数、用户 ID)。堆栈(trace)最后几行才是出问题的具体位置。
- 别从头逐字读,先搜
"message":"或Stack trace:,定位到异常本体 -
context里如果出现"exception":{},说明是未捕获异常,重点看里面的file和line - 常见陷阱:日志里显示
Class not found,但实际是自动加载失败,不是类名写错——检查composer dump-autoload是否执行,vendor/autoload.php是否被正确引入
最常被忽略的是:日志行为由 APP_LOG 环境变量和 config/logging.php 共同控制,改了任一端却忘了同步另一端,就会出现“配置明明写了,但日志就是不按预期走”的情况。











