【问题标题】:Is there a way to Log my errors on a LIVE hosting/production server?有没有办法在 LIVE 托管/生产服务器上记录我的错误?
【发布时间】:2020-02-18 16:29:43
【问题描述】:

我使用 PHP 和 Laravel 构建了一个 Web 应用程序。我已经无情地测试了该应用程序很长一段时间,并且一切都在我的本地计算机上运行良好。在我的 .env 文件中,AppDebug 设置为 true,在文档中,它说要确保在 LIVE 托管/生产环境中将其设置为 false。将其设置为 false 后,现在的问题是,我的客户正在自己通过应用程序对其进行测试,当他创建一个游戏时,它只是一个带有几个输入字段的简单表单,然后单击提交按钮,他得到一个500 服务器错误。奇怪的是游戏仍然被插入到数据库中,即使他收到了这个错误。如果我将 AppDebug 设置为 true,则不再有 500 错误消息,并且一切正常,但我不能将其设置为 true。并且 500 服务器错误没有给我足够的描述,以便我进行调试。那么我该如何调试呢。 Laravel 中的错误是否会记录在更能描述错误的地方?

【问题讨论】:

  • 错误通常记录在/storage/logs 或服务器错误日志中。先签入存储。
  • 查看 Bugsnag 或 Sentry 并将它们设置为处理所有未捕获的异常。

标签: php laravel logging production-environment


【解决方案1】:

我一般用的是望远镜:https://laravel.com/docs/6.x/telescope

你必须改变一些东西才能得到生产中的错误: 在望远镜服务提供者中改变这个:

Telescope::filter(function (IncomingEntry $entry) {
   if ( $this->app->isLocal()) {
      return true;
   }
   ...
}

到这里:

Telescope::filter(function (IncomingEntry $entry) {
   return true; //this will prevent the condition of checking if is in local
   if ( $this->app->isLocal()) {
      return true;
   }
   ...
}

但是,正如其他人所说,您可以在 /storage/logs 中看到所有错误 干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    相关资源
    最近更新 更多