Python 为什么';t gunicorn将500个内部服务器错误记录到stderr?
我已经建立了一个网站,并在其背后运行。当我使用以下命令手动运行gunicorn时Python 为什么';t gunicorn将500个内部服务器错误记录到stderr?,python,logging,nginx,gunicorn,stderr,Python,Logging,Nginx,Gunicorn,Stderr,我已经建立了一个网站,并在其背后运行。当我使用以下命令手动运行gunicorn时 gunicorn --worker-class eventlet -b 127.0.0.1:5000 app:app 我希望所有输出(包括错误)都记录到终端。但是,当我访问一个特定页面,在浏览器中产生500个响应时,我的nginx_access.log中有一行这样说: 83.161.xx.xx - - [29/May/2016:15:33:12 +0000] "GET /invites HTTP/1.1" 500
gunicorn --worker-class eventlet -b 127.0.0.1:5000 app:app
我希望所有输出(包括错误)都记录到终端。但是,当我访问一个特定页面,在浏览器中产生500个响应时,我的nginx_access.log
中有一行这样说:
83.161.xx.xx - - [29/May/2016:15:33:12 +0000] "GET /invites HTTP/1.1" 500 291 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36"
但是我没有从正在运行的gunicorn实例中得到这个500的输出。这使得调试错误几乎不可能
因此,我尝试运行gunicorn,其中gunicorn的定义如下:
[program:gunicorn]
command=/home/immoprod/thesite/venv/bin/gunicorn --worker-class eventlet -b 127.0.0.1:5000 app:app
directory=/home/immoprod/thesite
autostart=true
autorestart=true
stdout_logfile=/home/immoprod/logs/gunicorn_access.log
stderr_logfile=/home/immoprod/logs/gunicorn_error.log
stopsignal=QUIT
奇怪的是,我有一个相同设置的beta服务器,gunicorn可以正确地记录错误。据我所知,这两种设置之间没有什么不同(当然肯定有,但我不知道是什么)
有人知道为什么Gunicorn没有将500内部服务器错误的错误输出记录到stderr吗?欢迎所有提示
如果重要的话:我使用的是gunicorn版本18.0,结果我忘记了如果在生产模式下,应用程序会将错误记录到另一个特定于应用程序的日志文件中
也许这可以提醒未来的人们检查特定于应用程序的日志…-) 结果是,我忘记了如果在生产模式下,应用程序会将错误记录到另一个特定于应用程序的日志文件中
也许这可以提醒未来的人们检查特定于应用程序的日志…-) nginx的error.log中有什么?nginx的error.log中有什么?该文件位于何处?该文件位于何处?