still fighting local logging

This commit is contained in:
lpm0073 2022-05-13 16:16:31 -05:00
parent bc94c40186
commit cf8fe2ad15
3 changed files with 77 additions and 121 deletions

View File

@ -1,10 +0,0 @@
from ..devstack import *
{% include "credentials/apps/credentials/settings/partials/common.py" %}
SOCIAL_AUTH_EDX_OAUTH2_PUBLIC_URL_ROOT = "http://{{ LMS_HOST }}:8000"
BACKEND_SERVICE_EDX_OAUTH2_KEY = "{{ CREDENTIALS_OAUTH2_KEY_DEV }}"
{{ patch("credentials-settings-development") }}

View File

@ -1,92 +0,0 @@
import json
import logging.config
from credentials.settings.utils import get_logger_config
SECRET_KEY = "{{ OPENEDX_SECRET_KEY }}"
ALLOWED_HOSTS = [
"{{ CREDENTIALS_HOST }}",
"credentials",
]
PLATFORM_NAME = "{{ PLATFORM_NAME }}"
PROTOCOL = "{% if ENABLE_HTTPS %}https{% else %}http{% endif %}"
CORS_ALLOW_CREDENTIALS = True
{% set jwt_rsa_key = rsa_import_key(JWT_RSA_PRIVATE_KEY) %}
JWT_AUTH["JWT_ISSUER"] = "{{ JWT_COMMON_ISSUER }}"
JWT_AUTH["JWT_AUDIENCE"] = "{{ JWT_COMMON_AUDIENCE }}"
JWT_AUTH["JWT_SECRET_KEY"] = "{{ JWT_COMMON_SECRET_KEY }}"
JWT_AUTH["JWT_PUBLIC_SIGNING_JWK_SET"] = json.dumps(
{
"keys": [
{
"kid": "openedx",
"kty": "RSA",
"e": "{{ jwt_rsa_key.e|long_to_base64 }}",
"n": "{{ jwt_rsa_key.n|long_to_base64 }}",
}
]
}
)
JWT_AUTH["JWT_ISSUERS"] = [
{
"ISSUER": "{{ JWT_COMMON_ISSUER }}",
"AUDIENCE": "{{ JWT_COMMON_AUDIENCE }}",
"SECRET_KEY": "{{ OPENEDX_SECRET_KEY }}"
}
]
SOCIAL_AUTH_REDIRECT_IS_HTTPS = {% if ENABLE_HTTPS %}True{% else %}False{% endif %}
SOCIAL_AUTH_EDX_OAUTH2_ISSUER = "{% if ENABLE_HTTPS %}https{% else %}http{% endif %}://{{ LMS_HOST }}"
SOCIAL_AUTH_EDX_OAUTH2_URL_ROOT = "http://lms:8000"
BACKEND_SERVICE_EDX_OAUTH2_SECRET = "{{ CREDENTIALS_OAUTH2_SECRET }}"
BACKEND_SERVICE_EDX_OAUTH2_PROVIDER_URL = "http://lms:8000/oauth2"
EDX_DRF_EXTENSIONS = {
'OAUTH2_USER_INFO_URL': '{% if ENABLE_HTTPS %}https{% else %}http{% endif %}://{{ LMS_HOST }}/oauth2/user_info',
}
DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql",
"NAME": "{{ CREDENTIALS_MYSQL_DATABASE }}",
"USER": "{{ CREDENTIALS_MYSQL_USERNAME }}",
"PASSWORD": "{{ CREDENTIALS_MYSQL_PASSWORD }}",
"HOST": "{{ MYSQL_HOST }}",
"PORT": "{{ MYSQL_PORT }}",
"OPTIONS": {
"init_command": "SET sql_mode='STRICT_TRANS_TABLES'",
},
}
}
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = "{{ SMTP_HOST }}"
EMAIL_PORT = "{{ SMTP_PORT }}"
EMAIL_HOST_USER = "{{ SMTP_USERNAME }}"
EMAIL_HOST_PASSWORD = "{{ SMTP_PASSWORD }}"
EMAIL_USE_TLS = {{SMTP_USE_TLS}}
ENTERPRISE_SERVICE_URL = '{% if ENABLE_HTTPS %}https{% else %}http{% endif %}://{{ LMS_HOST }}/enterprise/'
ENTERPRISE_API_URL = urljoin(ENTERPRISE_SERVICE_URL, 'api/v1/')
# Logging: get rid of local handler
LOGGING = get_logger_config(
log_dir="/var/log",
edx_filename="credentials.log",
dev_env=True,
debug=False,
local_loglevel="INFO",
)
LOGGING["handlers"].pop("local")
for logger in LOGGING["loggers"].values():
try:
logger["handlers"].remove("local")
except ValueError:
continue
logging.config.dictConfig(LOGGING)
{{ patch("credentials-settings-common") }}

View File

@ -1,7 +1,6 @@
import logging.config
from credentials.settings.utils import get_logger_config
from credentials.settings.production import *
import platform
from sys import stdout as sys_stdout
from credentials.settings.production import * # pylint: disable=wildcard-import, unused-wildcard-import
{% include "credentials/apps/credentials/settings/partials/common.py" %}
@ -14,21 +13,80 @@ SOCIAL_AUTH_EDX_OAUTH2_PUBLIC_URL_ROOT = "{% if ENABLE_HTTPS %}https{% else %}ht
BACKEND_SERVICE_EDX_OAUTH2_KEY = "{{ CREDENTIALS_OAUTH2_KEY }}"
# Logging: get rid of local handler
LOGGING = get_logger_config(
log_dir="/var/log",
edx_filename="credentials.log",
dev_env=True,
debug=False,
local_loglevel="INFO",
)
LOGGING["handlers"].pop("local")
for logger in LOGGING["loggers"].values():
try:
logger["handlers"].remove("local")
except ValueError:
continue
logging.config.dictConfig(LOGGING)
def get_docker_logger_config(log_dir='/var/tmp',
logging_env="no_env",
edx_filename="edx.log",
dev_env=False,
debug=False,
service_variant='credentials'):
"""
Return the appropriate logging config dictionary. You should assign the
result of this to the LOGGING var in your settings.
"""
hostname = platform.node().split(".")[0]
syslog_format = (
"[service_variant={service_variant}]"
"[%(name)s][env:{logging_env}] %(levelname)s "
"[{hostname} %(process)d] [%(filename)s:%(lineno)d] "
"- %(message)s"
).format(
service_variant=service_variant,
logging_env=logging_env, hostname=hostname
)
handlers = ['console']
logger_config = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'standard': {
'format': '%(asctime)s %(levelname)s %(process)d '
'[%(name)s] %(filename)s:%(lineno)d - %(message)s',
},
'syslog_format': {'format': syslog_format},
'raw': {'format': '%(message)s'},
},
'handlers': {
'console': {
'level': 'DEBUG' if debug else 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'standard',
'stream': sys_stdout,
},
},
'loggers': {
'django': {
'handlers': handlers,
'propagate': True,
'level': 'INFO'
},
'requests': {
'handlers': handlers,
'propagate': True,
'level': 'WARNING'
},
'factory': {
'handlers': handlers,
'propagate': True,
'level': 'WARNING'
},
'django.request': {
'handlers': handlers,
'propagate': True,
'level': 'WARNING'
},
'': {
'handlers': handlers,
'level': 'DEBUG',
'propagate': False
},
}
}
return logger_config
LOGGING = get_docker_logger_config()
{{ patch("credentials-settings-production") }}