【发布时间】:2011-12-21 20:56:45
【问题描述】:
我目前正在开发基于flask 的应用程序。它运行良好,使用app.run() 手动生成服务器。我现在尝试通过mod_wsgi 运行它。奇怪的是,我收到 500 错误,日志中没有任何内容。我进行了一些调查,这是我的发现。
- 插入像
print >>sys.stderr, "hello"这样的行可以按预期工作。该消息显示在错误日志中。 - 在不使用模板的情况下调用方法时效果很好。没有 500 错误。
- 使用简单的模板也可以。
- 但是一旦我在模板中触发数据库访问(例如循环查询),我就会收到错误消息。
我的直觉告诉我是 SQLAlchemy 发出了错误,并且可能某些日志记录配置导致日志在应用程序中的某个点被丢弃。
另外,为了测试,我使用的是 SQLite。据我所知,这只能从一个线程访问。所以如果mod_wsgi 产生更多线程,它可能会破坏应用程序。
我有点不知所措,因为它只会在mod_wsgi 后面跑,这似乎也吞噬了我的错误。我该怎么做才能使错误冒泡到 apache error_log 中?
供参考,代码可见on this github permalink。
【问题讨论】:
标签: python apache sqlalchemy mod-wsgi flask