fix: update docker logger settings to better match normal log settings (#31448)
* fix: update docker logger settings to better match normal log settings * feat: add docker-production settings for cms
This commit is contained in:
9
cms/envs/docker-production.py
Normal file
9
cms/envs/docker-production.py
Normal file
@@ -0,0 +1,9 @@
|
||||
"""
|
||||
Specific overrides to the base prod settings for a docker production deployment.
|
||||
"""
|
||||
|
||||
from .production import * # pylint: disable=wildcard-import, unused-wildcard-import
|
||||
|
||||
from openedx.core.lib.logsettings import get_docker_logger_config
|
||||
|
||||
LOGGING = get_docker_logger_config()
|
||||
@@ -2,95 +2,8 @@
|
||||
Specific overrides to the base prod settings for a docker production deployment.
|
||||
"""
|
||||
|
||||
import platform
|
||||
from .production import * # pylint: disable=wildcard-import, unused-wildcard-import
|
||||
|
||||
|
||||
def get_docker_logger_config(log_dir='/var/tmp',
|
||||
logging_env="no_env",
|
||||
edx_filename="edx.log",
|
||||
dev_env=False,
|
||||
debug=False,
|
||||
service_variant='lms'):
|
||||
"""
|
||||
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,
|
||||
},
|
||||
'tracking': {
|
||||
'level': 'DEBUG',
|
||||
'class': 'logging.handlers.RotatingFileHandler',
|
||||
'filename': '/var/tmp/tracking_logs.log',
|
||||
'backupCount': 5,
|
||||
'formatter': 'raw',
|
||||
'maxBytes': 10485760
|
||||
}
|
||||
},
|
||||
'loggers': {
|
||||
'django': {
|
||||
'handlers': handlers,
|
||||
'propagate': True,
|
||||
'level': 'INFO'
|
||||
},
|
||||
'tracking': {
|
||||
'handlers': ['tracking'],
|
||||
'level': 'DEBUG',
|
||||
'propagate': False,
|
||||
},
|
||||
'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
|
||||
from openedx.core.lib.logsettings import get_docker_logger_config
|
||||
|
||||
LOGGING = get_docker_logger_config()
|
||||
|
||||
@@ -135,3 +135,103 @@ def log_python_warnings():
|
||||
except ImportError:
|
||||
pass
|
||||
logging.captureWarnings(True)
|
||||
|
||||
|
||||
def get_docker_logger_config(log_dir='/var/tmp',
|
||||
logging_env="no_env",
|
||||
edx_filename="edx.log",
|
||||
dev_env=False,
|
||||
debug=False,
|
||||
service_variant='lms'):
|
||||
"""
|
||||
Return the appropriate logging config dictionary for a docker based setup.
|
||||
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'},
|
||||
},
|
||||
'filters': {
|
||||
'require_debug_false': {
|
||||
'()': 'django.utils.log.RequireDebugFalse',
|
||||
},
|
||||
'userid_context': {
|
||||
'()': 'edx_django_utils.logging.UserIdFilter',
|
||||
},
|
||||
'remoteip_context': {
|
||||
'()': 'edx_django_utils.logging.RemoteIpFilter',
|
||||
}
|
||||
},
|
||||
'handlers': {
|
||||
'console': {
|
||||
'level': 'DEBUG' if debug else 'INFO',
|
||||
'class': 'logging.StreamHandler',
|
||||
'formatter': 'standard',
|
||||
'filters': ['userid_context', 'remoteip_context'],
|
||||
'stream': sys.stderr,
|
||||
},
|
||||
'tracking': {
|
||||
'level': 'DEBUG',
|
||||
'class': 'logging.handlers.RotatingFileHandler',
|
||||
'filename': '/var/tmp/tracking_logs.log',
|
||||
'backupCount': 5,
|
||||
'formatter': 'raw',
|
||||
'maxBytes': 10485760
|
||||
}
|
||||
},
|
||||
'loggers': {
|
||||
'django': {
|
||||
'handlers': handlers,
|
||||
'propagate': True,
|
||||
'level': 'INFO'
|
||||
},
|
||||
'tracking': {
|
||||
'handlers': ['tracking'],
|
||||
'level': 'DEBUG',
|
||||
'propagate': False,
|
||||
},
|
||||
'requests': {
|
||||
'handlers': handlers,
|
||||
'propagate': True,
|
||||
'level': 'WARNING'
|
||||
},
|
||||
'factory': {
|
||||
'handlers': handlers,
|
||||
'propagate': True,
|
||||
'level': 'WARNING'
|
||||
},
|
||||
'django.request': {
|
||||
'handlers': handlers,
|
||||
'propagate': True,
|
||||
'level': 'ERROR'
|
||||
},
|
||||
'': {
|
||||
'handlers': handlers,
|
||||
'level': 'INFO',
|
||||
'propagate': False
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
return logger_config
|
||||
|
||||
Reference in New Issue
Block a user