Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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
Python Flask调试记录器在生产中导致500服务器错误(Apache)_Python_Apache_Logging_Flask - Fatal编程技术网

Python Flask调试记录器在生产中导致500服务器错误(Apache)

Python Flask调试记录器在生产中导致500服务器错误(Apache),python,apache,logging,flask,Python,Apache,Logging,Flask,正在尝试将500个错误记录到我的Flask web应用程序的日志文件中。在本地主机上正常工作,但在Ubuntu上使用mod_WSGI和Apache的生产服务器上不能正常工作(根据此设置@) 你知道为什么这在本地环境中有效,但在生产中却不起作用吗?更改调试设置似乎无法解决问题 最可能发生的情况是,您正在使用用户X运行开发中的web服务器,并且该用户对您的Flask应用程序存储的目录具有写入权限-因此它可以写入application.log 我从您发布的教程中注意到,所有directores都是使用

正在尝试将500个错误记录到我的Flask web应用程序的日志文件中。在本地主机上正常工作,但在Ubuntu上使用mod_WSGI和Apache的生产服务器上不能正常工作(根据此设置@)


你知道为什么这在本地环境中有效,但在生产中却不起作用吗?更改调试设置似乎无法解决问题

最可能发生的情况是,您正在使用用户X运行开发中的web服务器,并且该用户对您的Flask应用程序存储的目录具有写入权限-因此它可以写入
application.log

我从您发布的教程中注意到,所有directores都是使用
sudo
创建的,因此您的目录权限属于root用户,而您的Flask应用程序是作为另一个用户运行的,该用户无权写入root用户拥有的目录

有两种可能的修复方法:

将安装Flask应用程序的目录的权限更改为相同:

$ sudo chown -R www-data:www-data /var/www/FlaskApp

更改写入日志文件的位置(首选方法):

然后将代码更改为:

app.config['LOG_FILE'] = '/var/log/flaskapp/application.log'

是的,解决了问题。非常感谢你,马丁!有关更多相关阅读,请参见:和
$ sudo mkdir /var/log/flaskapp
$ sudo chown -R www-data:www-data /var/log/flaskapp
app.config['LOG_FILE'] = '/var/log/flaskapp/application.log'