如何在没有添加的情况下在 Heroku 中启用堆栈跟踪

Posted

技术标签:

【中文标题】如何在没有添加的情况下在 Heroku 中启用堆栈跟踪【英文标题】:How to Enable Stack Trace in Heroku without Add On 【发布时间】:2015-04-09 22:24:05 【问题描述】:

Heroku 上的暂存站点抛出错误。当我运行日志 (heroku logs -n500 -aheroku-app-name -t) 时,日志级别调试 (heroku config:set LOG_LEVEL=debug) 没有提供完整的堆栈跟踪。

如何在没有任何帐户插件的情况下启用堆栈跟踪?

【问题讨论】:

不完全是您要查找的内容,但如果您将 RAILS_ENV 从登台设置为开发,您可以在网页中获取堆栈跟踪,就像您在本地运行应用程序一样。 【参考方案1】:

三重检查是否可行。

没有终端快捷方式——这适用于新手。也许您标记了因为它不适用于您的特定环境变量。但是,如果您的 DEV/STAGING/PRODUCTION 环境大致相同,这确实是您在 Heroku 上启用堆栈跟踪的方式。


(感谢 DJ 三重威胁!) 这是 Heroku 新手的分步说明。还有终端快捷方式。您可以在 Heroku 文档中找到它们。

    登录 Heroku。 点击您的应用程序。 点击顶部应用程序菜单栏最右侧的“设置”。 在“配置变量”下单击“显示配置变量”按钮。 将“RAILS_ENV”设置从“staging”更改为“development”。

现在可以使用完整的堆栈跟踪错误信息。如果您不想看到堆栈跟踪,请务必将其转回暂存。

【讨论】:

如果您的应用在生产或开发模式下完全不同,这将不起作用。例如,如果您在开发中使用 SQLite,在生产中使用 Postgres。 你是对的,如果你有相当不同的配置变量,当你启用堆栈跟踪时,你可能会无意中禁用你的应用程序。但是——这是启用堆栈跟踪的方式。 请停止标记。这就是在 Heroku 上启用堆栈跟踪的方式。如果您的环境变量不支持它,这不会使这个答案出错。 对我没用 - 我的整个开发设置都不适合 Heroku。肯定有更好的方法吗? 堆栈跟踪应该是您本地开发环境的一部分。你有 Heroku 上的应用程序吗?

以上是关于如何在没有添加的情况下在 Heroku 中启用堆栈跟踪的主要内容,如果未能解决你的问题,请参考以下文章

执行堆栈操作以在没有集合api的情况下在java中推送字符串

在没有堆栈溢出的情况下在 javascript 中执行无限动画的模式

如何在没有扩展内联 asm 的情况下在 gcc 内联汇编中声明和初始化局部变量?

React Native - 如何在没有完全重新渲染的情况下在 ListView 中添加和附加数据

如何在不设置 lambda 的情况下在 apigateway http_proxy 上添加 CORS?

如何在没有 2 个 if 语句的情况下在 JSX 中添加 If...Else 语句?