You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 5日志Debug功能失效求助:请求排查代码问题

Laravel控制器日志未写入问题排查方案

1. 先确认请求是否到达控制器

这是最容易忽略的前提:

  • 在Vue的getItems方法开头加console.log('触发getItems'),打开浏览器控制台确认方法是否被调用
  • 修正axios GET请求的参数传递方式:axios的GET请求参数必须放在params对象中,你当前的写法会导致参数未正确传递,可能触发路由匹配异常或控制器未执行。修改后的代码:
getItems() {
  axios.get("/posts/items", {
      params: {
          post_id: this.$route.params.id
      }
  })
  .then((res) => {
    console.log('接口返回数据:', res.data)
    this.postDataList = res.data.data;
    if(this.postDataList != null){
      this.itemDataList = this.postDataList[0]['items'];
    }
  }).catch(err => {
    console.log('请求失败:', err) // 新增错误捕获,排查请求异常
  });
}
  • 直接在浏览器地址栏访问/posts/items?post_id=1(替换为实际存在的ID),如果能返回ID值,同时日志仍未写入,再继续排查后端问题。

2. 检查Laravel日志配置

  • 打开config/app.php(Laravel 5.x版本的日志配置文件),确认log_level设置:
    若配置为'log_level' => env('APP_LOG_LEVEL', 'error'),则info、debug级别的日志会被过滤,需改为'debug'或'info'
  • 检查.env文件:确保APP_DEBUG=true,关闭DEBUG模式可能会限制低级别日志输出
  • 确认日志通道默认指向storage/logs/laravel.log,默认配置无需修改

3. 检查日志文件权限

storage/logs/laravel.log需要web服务器用户(如www-data、apache)有写入权限:

# 修改storage目录权限
chmod -R 775 storage/
# 调整目录所属用户(根据你的服务器环境修改)
chown -R www-data:www-data storage/

4. 验证日志代码有效性

你的控制器日志写法完全正确:

Log::info('kita');
Log::debug('kurukao');
logger()->debug('debug');

引入use Illuminate\Support\Facades\Log;是标准写法,无需改用use Log;(默认别名已配置,但完整命名空间引入更稳妥)

5. 其他排查方向

  • 检查是否存在自定义中间件/服务提供者修改了日志行为
  • 查看服务器系统日志(如/var/log/nginx/error.log),排查是否有PHP错误或权限阻止日志写入

内容的提问来源于stack exchange,提问作者sora sakamoto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 22:25:22