Laravel 不断记录 NotFoundHttpException

Posted

技术标签:

【中文标题】Laravel 不断记录 NotFoundHttpException【英文标题】:Laravel Constantly logging NotFoundHttpException 【发布时间】:2017-08-26 14:50:21 【问题描述】:

我的 laravel 日志充满了NotFoundHttpException in /forge/default/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php:161,每分钟记录大约十个这样的异常。

这使得在日志文件中找到任何有用的东西真的很困难,而且文件本身很快就会变大。

这是来自试图抓取网站的机器人还是可能是另一个问题?该日志不包含正在访问的 URL,因此很难判断它是否是 404 问题。

谢谢

【问题讨论】:

生产现场?尝试访问你的 nginx/apache 日志也看看他们有什么 也尝试将类似的东西发送到您的RouteServiceProvider 并在名为map 的方法中输入Log::alert('url and method', [ 'url' => $this->app['request']->path(), 'method' => $this->app['request']->method(), 'referer' => $this->app['request']->headers->get('referer') ]); 这样您就可以获得每个请求的URL、方法和引荐来源网址 也去你的App\Exceptions\Handler覆盖report方法作为它的父,而不是$logger->error($e);$logger->error($e,[ 'url' => $this->app['request']->path(), 'method' => $this->app['request']->method(), 'referer' => $this->app['request']->headers->get('referer') ]); 第二种方式更好,因为您只会在日志中看到那些有错误的请求 感谢您的帮助。我检查了我的访问日志,并且有一个页面正在尝试加载的图标(不存在)。不存在的图像/图标会导致记录异常吗?感谢您提供错误记录提示,我会将其添加到处理程序中。 【参考方案1】:

NotFoundHttpException 表示 Laravel 无法找到请求的路由。

您需要检查路由的语法,如 documentation 中所述,当您尝试访问的路由不存在或您在 routes.php 或浏览器的地址栏中拼写错误时,就会发生错误.

【讨论】:

以上是关于Laravel 不断记录 NotFoundHttpException的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 安装程序不断安装 5.5 而不是 5.6

iframe 中的 laravel 应用程序不断刷新会话

Laravel 子域端点不断重定向并出现 301 错误

127.0.0.1:8000 在 laravel 项目中不断加载

多次尝试后,Laravel 5.5 在 ajax 调用中不断收到 419 发布错误

Laravel updateExistingPivot 不断返回 false