2012-08-28 18:44:51 +02:00
|
|
|
"""
|
2013-10-04 19:27:01 +02:00
|
|
|
WSGI config for zulip project.
|
2012-08-28 18:44:51 +02:00
|
|
|
|
|
|
|
This module contains the WSGI application used by Django's development server
|
|
|
|
and any production WSGI deployments. It should expose a module-level variable
|
|
|
|
named ``application``. Django's ``runserver`` and ``runfcgi`` commands discover
|
|
|
|
this application via the ``WSGI_APPLICATION`` setting.
|
|
|
|
|
|
|
|
Usually you will have the standard Django WSGI application here, but it also
|
|
|
|
might make sense to replace the whole Django WSGI application with a custom one
|
|
|
|
that later delegates to the Django one. For example, you could introduce WSGI
|
|
|
|
middleware here, or combine a Django application with an application of another
|
|
|
|
framework.
|
|
|
|
|
|
|
|
"""
|
|
|
|
import os
|
2016-06-25 17:07:13 +02:00
|
|
|
import sys
|
|
|
|
|
2017-09-22 08:15:01 +02:00
|
|
|
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
2016-06-25 17:07:13 +02:00
|
|
|
sys.path.append(BASE_DIR)
|
2020-01-08 00:06:39 +01:00
|
|
|
from scripts.lib.setup_path import setup_path
|
|
|
|
|
|
|
|
setup_path()
|
2012-08-28 18:44:51 +02:00
|
|
|
|
2013-08-06 22:51:47 +02:00
|
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "zproject.settings")
|
2019-06-18 09:50:06 +02:00
|
|
|
|
2020-06-19 00:39:14 +02:00
|
|
|
from django.core.wsgi import get_wsgi_application
|
2020-06-11 00:54:34 +02:00
|
|
|
|
2019-06-18 09:50:06 +02:00
|
|
|
try:
|
2020-06-19 00:39:14 +02:00
|
|
|
# This application object is used by any WSGI server configured to use this
|
|
|
|
# file. This includes Django's development server, if the WSGI_APPLICATION
|
|
|
|
# setting points here.
|
|
|
|
|
|
|
|
application = get_wsgi_application()
|
2020-06-12 01:35:37 +02:00
|
|
|
except Exception:
|
2019-06-18 09:50:06 +02:00
|
|
|
# If /etc/zulip/settings.py contains invalid syntax, Django
|
|
|
|
# initialization will fail in django.setup(). In this case, our
|
|
|
|
# normal configuration to logs errors to /var/log/zulip/errors.log
|
|
|
|
# won't have been initialized. Since it's really valuable for the
|
|
|
|
# debugging process for a Zulip 500 error to always be "check
|
|
|
|
# /var/log/zulip/errors.log", we log to that file directly here.
|
|
|
|
import logging
|
2021-02-12 08:19:30 +01:00
|
|
|
|
|
|
|
logging.basicConfig(
|
2021-02-12 08:20:45 +01:00
|
|
|
filename="/var/log/zulip/errors.log",
|
2021-02-12 08:19:30 +01:00
|
|
|
level=logging.INFO,
|
2021-02-12 08:20:45 +01:00
|
|
|
format="%(asctime)s %(levelname)s %(name)s %(message)s",
|
2021-02-12 08:19:30 +01:00
|
|
|
)
|
2019-06-18 09:50:06 +02:00
|
|
|
logger = logging.getLogger(__name__)
|
2020-06-19 00:39:14 +02:00
|
|
|
logger.exception("get_wsgi_application() failed:")
|
2019-06-18 09:50:06 +02:00
|
|
|
raise
|