【问题标题】:Debugging django remotely远程调试django
【发布时间】:2015-11-29 01:37:57
【问题描述】:

我正在 Ubuntu 操作系统上开发 Django 服务器。由于那台机器上没有浏览器,我只能远程调试服务器。所以我只是配置了ApacheWSGI,现在可以通过机器公网IP访问了。

然后我想在一些视图中记录日志以进行调试,如果我将日志输出到文件中,我可以在文件中看到它,但是如果我想将它输出到控制台,我只是在这里感到困惑,在哪里是控制台吗?由于我没有手动使用python manage.py runserver 启动它,因此当前正在运行的服务器进程是由 WSGI 自动启动的。当然,我可以停止 WSGI 启动的进程,然后手动使用python manage.py runserver 重新启动它。如果是这样,我无法通过机器公网IP访问它。

那么如何在putty的控制台中查看日志

【问题讨论】:

    标签: python django remote-debugging


    【解决方案1】:

    首先,您不应该在服务器上进行开发。在本地执行此操作并在那里以通常的方式进行调试。

    如果您正在调试生产问题,您确实需要使用日志文件。但是在控制台中查看它们非常简单;你可以做tail -f /var/log/my_log_file.log,控制台会显示正在写入的日志。

    【讨论】:

      【解决方案2】:

      您不能将其输出到console。由于该进程不是从控制台调用的,因此您无法在控制台中看到标准输出。您只能将输出重定向到文件并读取文件。

      如果您想要控制台中的日志,那么您必须从控制台调用 django 服务器。即python manage.py runserver,它应该只用于开发时间,因为这个服务器不适合在生产中使用

      【讨论】:

      • 但是没有wsgi我无法通过机器公网ip访问
      • @ybbaigo:将其写入文件是最好的选择。你为什么不这样做?
      • 当然你可以使用 Django 的 runserver 和服务器公共 IP:./manage.py runserver 0.0.0.0:8000 会让 Django 监听端口 8000。我在我的机器上使用本地 VM 进行开发时使用它(当然使用端口转发)。
      猜你喜欢
      • 2016-07-03
      • 2012-11-17
      • 2011-07-27
      • 2011-03-06
      • 2012-12-17
      • 2013-04-12
      • 2012-07-01
      • 2018-04-05
      • 2015-09-26
      相关资源
      最近更新 更多