141 lines
4.3 KiB
Python
141 lines
4.3 KiB
Python
import logging
|
|
|
|
from evibes.settings.base import DEBUG
|
|
|
|
|
|
class SkipVariableDoesNotExistFilter(logging.Filter):
|
|
def filter(self, record: logging.LogRecord) -> bool:
|
|
if record.exc_info:
|
|
exc_type, _, _ = record.exc_info
|
|
try:
|
|
if exc_type is not None and exc_type.__name__ == "VariableDoesNotExist":
|
|
return False
|
|
except AttributeError:
|
|
pass
|
|
return "VariableDoesNotExist" not in record.getMessage()
|
|
|
|
|
|
LOGGING = {
|
|
"version": 1,
|
|
"disable_existing_loggers": False,
|
|
"formatters": {
|
|
"color": {
|
|
"()": "colorlog.ColoredFormatter",
|
|
"format": "%(asctime)s %(log_color)s[%(levelname)s]%(reset)s %(name)s:%(module)s:%(lineno)d: %(message)s",
|
|
"datefmt": "%Y-%m-%d %H:%M:%S",
|
|
"log_colors": {
|
|
"DEBUG": "cyan",
|
|
"INFO": "bold_green",
|
|
"WARNING": "bold_yellow",
|
|
"ERROR": "bold_red",
|
|
"CRITICAL": "bold_red,bg_white",
|
|
},
|
|
},
|
|
"plain": {
|
|
"format": "[%(asctime)s] [%(levelname)s] %(name)s: %(message)s",
|
|
"datefmt": "%Y-%m-%d %H:%M:%S",
|
|
},
|
|
},
|
|
"filters": {
|
|
"require_debug_false": {"()": "django.utils.log.RequireDebugFalse"},
|
|
"require_debug_true": {"()": "django.utils.log.RequireDebugTrue"},
|
|
"skip_variable_doesnotexist": {"()": "evibes.settings.logconfig.SkipVariableDoesNotExistFilter"},
|
|
},
|
|
"handlers": {
|
|
"console": {
|
|
"class": "logging.StreamHandler",
|
|
"formatter": "color",
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
},
|
|
"mail_admins": {
|
|
"level": "ERROR",
|
|
"filters": ["require_debug_false"],
|
|
"class": "django.utils.log.AdminEmailHandler",
|
|
},
|
|
},
|
|
"root": {
|
|
"handlers": ["console"],
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
},
|
|
"loggers": {
|
|
"django": {
|
|
"handlers": ["console"],
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"propagate": True,
|
|
},
|
|
"django.request": {
|
|
"handlers": ["console"],
|
|
"level": "DEBUG" if DEBUG else "ERROR",
|
|
"propagate": False,
|
|
},
|
|
"django.server": {
|
|
"handlers": ["console"],
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"propagate": False,
|
|
},
|
|
"django.db.backends": {
|
|
"level": "WARNING",
|
|
"propagate": True,
|
|
},
|
|
"django.template": {
|
|
"level": "DEBUG" if DEBUG else "ERROR",
|
|
"filters": ["skip_variable_doesnotexist"],
|
|
"propagate": True,
|
|
},
|
|
"uvicorn.access": {
|
|
"handlers": ["console"],
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"propagate": False,
|
|
},
|
|
"uvicorn.error": {
|
|
"handlers": ["console"],
|
|
"level": "DEBUG" if DEBUG else "WARNING",
|
|
"propagate": False,
|
|
},
|
|
"celery": {
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"propagate": True,
|
|
},
|
|
"celery.app.trace": {
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"propagate": True,
|
|
},
|
|
"celery.worker.strategy": {
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"propagate": True,
|
|
},
|
|
"django_elasticsearch_dsl": {
|
|
"level": "WARNING",
|
|
"propagate": True,
|
|
},
|
|
"elastic_transport.transport": {
|
|
"level": "ERROR",
|
|
"propagate": True,
|
|
},
|
|
"evibes": {
|
|
"handlers": ["console"],
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"propagate": True,
|
|
},
|
|
"blog": {
|
|
"handlers": ["console"],
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"propagate": True,
|
|
},
|
|
"core": {
|
|
"handlers": ["console"],
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"propagate": True,
|
|
},
|
|
"payments": {
|
|
"handlers": ["console"],
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"propagate": True,
|
|
},
|
|
"vibes_auth": {
|
|
"handlers": ["console"],
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"propagate": True,
|
|
},
|
|
},
|
|
}
|