首页 > 解决方案 > 如何在 Heroku 生产系统中跟踪代码

问题描述

我的 Python/Django 代码在 heroku 生产代码中的行为与在我的开发机器上的行为不同。

我想调试/跟踪它。

因为它在 Heroku 上运行。AFAIK 我无法插入import pydevd_pycharm; pydevd_pycharm.settrace(...代码。

我使用 PyCharm。

但我不需要花哨的 GUI。命令行工具也可以。

如果我能看到在特定 http 请求期间执行的所有行,我会很高兴。

如何为生产系统解决这个问题?

标签: pythondjangoherokupycharmtrace

解决方案


为了了解您的本地开发环境和 Heroku 生产环境之间的区别,我首先将应用程序部署在另一个 Heroku Dyno 上,例如您可以轻松创建和管理的 Free Dyno 。
然后,您可以集成所需的工具并根据需要添加日志语句。

即使您能够调试/检查生产运行时,能够在类似生产的系统上进行测试以及早捕获问题并在不猜测的情况下调查问题也非常重要。

在 Prod 系统上,调试应用程序的选项有限:

  • 考虑代码更改(即添加日志记录),但正如您所指出的,这涉及 PR 和新版本
  • 调试器:将您喜欢的调试器(即 PyCharm)连接到远程应用程序。这是(几乎)没有人做的事情(考虑到安全方面和对应用程序性能的可能影响),我怀疑您的系统管理员/DevOps 会同意

推荐阅读