Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add error reporting #687

Merged
merged 3 commits into from
Oct 23, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 34 additions & 4 deletions codethesaurus/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,11 @@
For the full list of settings and their values, see
https://docs.djangoproject.com/en/3.1/ref/settings/
"""

from pathlib import Path
import os
import dj_database_url
import django_on_heroku


# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

Expand All @@ -33,7 +31,7 @@
# redirect all http requests to https in non debugging envs
SECURE_SSL_REDIRECT = not DEBUG

ALLOWED_HOSTS = [ "*" ]
ALLOWED_HOSTS = ["*"]

# Application definition

Expand All @@ -55,7 +53,8 @@
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware'
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.common.BrokenLinkEmailsMiddleware'
]

ROOT_URLCONF = 'codethesaurus.urls'
Expand Down Expand Up @@ -147,5 +146,36 @@
os.path.join(BASE_DIR, 'static'),
]

# For server error reporting
# Admin emails are stored like Name1:[email protected],Name2:[email protected],...
# Parse that first then set the rest
ADMIN_STRING = os.getenv('ADMINS', '')
ADMIN_SPLIT = ADMIN_STRING.split(",") # gives us name/value list
ADMINS = []
for item in ADMIN_SPLIT:
if item == "":
break
contact = item.split(":")
ADMINS.append((contact[0], contact[1]))
EMAIL_HOST = os.getenv('EMAIL_HOST', '')
EMAIL_HOST_USER = os.getenv('EMAIL_HOST_USER', '')
EMAIL_HOST_PASSWORD = os.getenv('EMAIL_HOST_PASSWORD', '')
SERVER_EMAIL = os.getenv('SERVER_EMAIL', '')
EMAIL_USE_SSL = os.getenv('EMAIL_USE_SSL', '')
EMAIL_PORT = os.getenv('EMAIL_PORT', '')
EMAIL_USE_TLS = os.getenv('EMAIL_USE_TLS', '')

LOGGING = {
"version": 1, # the dictConfig format version
"disable_existing_loggers": False, # retain the default loggers
"handlers": {
"mail_admins": {
"level": "ERROR",
"class": "django.utils.log.AdminEmailHandler",
"include_html": True,
},
}
}

# Configure Django App for Heroku.
django_on_heroku.settings(locals(), test_runner=False, databases=False, staticfiles=True, logging=True)
Loading