python-2.7 - Python 2.7 默认情况下是否将错误写入日志文件?

标签 python-2.7 openshift tail error-logging

OpenShift 中,我习惯于通过以下方式查看 Python 抛出的错误:

rhc tail -f app-root/logs/python.log [appname]

我最近创建了一个本地开发环境,并且希望能够访问相同的功能,即查看 Python 抛出的任何错误。

我可以针对 Apache 错误执行此操作:

sudo tail -100 /var/log/apache2/error.log

是否有类似的东西可以查看我的 Python 应用程序中的错误?

环境

  • Linux Mint 17 肉桂
  • Python 2.7.6

更新

稍微更新一下这个场景,我没有注意到我正在使用 mod_wsgi ,我现在相信它会将 Python 错误传递到 Apache 日志:

https://code.google.com/p/modwsgi/wiki/DebuggingTechniques

要获取更详细的错误消息,如上述文档所述,您可以将 /etc/apache2/apache2.conf 中的 LogLevel 设置调整为:

LogLevel info

它似乎正在捕获错误,例如调用尚未定义的函数时等。

因此,根据我目前的理解,对于我的场景来说,在应用程序中重新创建日志记录功能似乎不是必需的。

[Thu Dec 04 13:00:44.899950 2014] [:error] [pid 6200] [client 127.0.0.1:48228] NameError: name 'undefined_function()' is not defined

最佳答案

没有。您对云服务的登录(无论是来自 Apache 还是其他工具)是您的服务器环境的配置。如果您已转移到不自动支持该功能的本地环境,则您将无法获得它。

Python 确实有一个日志记录模块(相当完整且相当复杂),但它是程序记录到文件(或其他目的地)的基础设施。它不会自动将所有 Python 错误汇集到指定的日志文件中。一般来说,Python 错误消息 (sys.stderr) 会出现在运行程序的控制台上(或者在调试控制台上,如果您来自 IDE)。

关于python-2.7 - Python 2.7 默认情况下是否将错误写入日志文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27284529/

相关文章:

php - openshift mysql 数据库连接问题

linux - 自停尾操作

python - 同时迭代多个列表并捕获值的差异

kubernetes - oc和kubectl命令有什么区别?

python - 尝试在 Python 中创建打印计算器程序,程序无限输出 0

json - 在此服务器上找不到 Wordpress JsonAPI -/wp-json/

bash - 如何从文件中删除除最后 10 行以外的所有行?

python - Tail 读取一个不断增长的动态文件并提取两列然后打印一个图形

python - 如何使用 re.sub 来实际替换文件名?

python - Selenium for Python : Get text() of node that is shared with another element, 通过 XPath