【发布时间】:2011-06-23 05:22:57
【问题描述】:
我在设置 wsgi 文件时遇到问题,所以我想将消息输出到日志文件。我找到了这个页面http://code.google.com/p/modwsgi/wiki/DebuggingTechniques,但是当我尝试使用代码时:
print >> sys.stderr, "application debug #3"
在我的 project.wsgi 文件中,消息不会在 apache 重新启动时推送到 error.log。网站服务正常。我需要做什么才能使日志记录正常工作?
附:我在 Ubuntu 10.10 上为 Django 站点提供服务。
【问题讨论】:
-
“与之前每次 apache 重启时相同的消息”?
-
我的意思是,当我重新启动 apache 时,我的“应用程序调试 #3”没有进入 error.log。
-
代码中的那一行在哪里?为什么您希望在重新启动 Apache/mod_wsgi 时执行特定代码?
-
那行在我的 .wsgi 文件中。当我重新启动 apache 时,该文件中的所有内容似乎都已执行。也许我错了?
-
WSGI 脚本文件通常仅在针对特定应用程序的第一个请求到达时才加载,而不是在进程启动时自动加载,即在 Apache 重新启动时不会自动加载。如果 mod_wsgi 配置正确,您可以强制它在进程启动时加载,但不是默认设置。 WSGI 脚本文件中的任何内容都不会在进程关闭时执行。为此,您需要注册一个 atexit 回调。请参阅“code.google.com/p/modwsgi/wiki/…”。
标签: django ubuntu apache2 mod-wsgi error-logging