Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用wsgi将stdout和stderr重定向到Django中的文件_Django_Mod Wsgi_Django Wsgi - Fatal编程技术网

使用wsgi将stdout和stderr重定向到Django中的文件

使用wsgi将stdout和stderr重定向到Django中的文件,django,mod-wsgi,django-wsgi,Django,Mod Wsgi,Django Wsgi,我试图让django在共享主机中与wsgi一起工作,因此我无法访问服务器日志 我试图将输出重定向到django.wsgi脚本中的一个文件,如下所示: saveout = sys.stdout log_out = open('out.log', 'w') sys.stdout = log_out 但这是我的错误(在我可以访问的唯一错误日志中) [Thu Oct 07 19:18:08 2010][error][client]文件“/home/myuser/public_html/djang

我试图让django在共享主机中与wsgi一起工作,因此我无法访问服务器日志

我试图将输出重定向到django.wsgi脚本中的一个文件,如下所示:

saveout = sys.stdout
log_out = open('out.log', 'w')  
sys.stdout = log_out 
但这是我的错误(在我可以访问的唯一错误日志中)

[Thu Oct 07 19:18:08 2010][error][client]文件“/home/myuser/public_html/django.wsgi”,第9行,在
[Thu Oct 07 19:18:08 2010][error][client]mod_wsgi(pid=30677):处理wsgi脚本'/home/myuser/public_html/django.wsgi'时发生异常。
这就是我能得到的所有错误

第9行是尝试打开文件的行。我已经尝试过创建以前创建的文件,为所有人提供了写入权限,而没有创建以前创建的文件。。什么也没有。 在应用程序中,我只收到一个500服务器错误

有没有一种不访问apache日志而获得此输出的正确方法

编辑:

使用绝对路径,我可以打开文件并对其进行写入,但除非最终关闭文件,否则我会得到空文件,有必要吗?我可以把文件打开吗

关于最初的问题,尽管我使用了异常处理,但在脚本末尾向文件写入“finish ok”,然后关闭文件,但仍然会出现错误:

[Thu Oct 07 13:33:07 2010] [error] [client <ip>] mod_wsgi (pid=32541): Exception occurred processing WSGI script '/home/myuser/public_html/django.wsgi'.
[Thu Oct 07 13:33:07 2010][error][client]mod_wsgi(pid=32541):处理wsgi脚本'/home/myuser/public_html/django.wsgi'时发生异常。

如果我故意提出一个错误,它会记录在文件中,所以当我得到“ok”时,我认为脚本工作正常,但结果仍然是消息错误。。。没有线索

您不能在WSGI应用程序中使用相对路径名,如
out.log
。WSGI没有指定工作目录将指向的位置,除非在守护程序模式下特别要求,否则mod_WSGI不会设置它

使用基于应用程序根的绝对路径名。如果需要,您可以使用
os.path.dirname(\uu文件\uu)
获取包含当前脚本/模块的目录

[Thu Oct 07 13:33:07 2010] [error] [client <ip>] mod_wsgi (pid=32541): Exception occurred processing WSGI script '/home/myuser/public_html/django.wsgi'.