Skip to content

Instantly share code, notes, and snippets.

@gilsonbp
Created August 27, 2021 13:22
Show Gist options
  • Save gilsonbp/934f93dc36ee40f709162aeb4d466ec9 to your computer and use it in GitHub Desktop.
Save gilsonbp/934f93dc36ee40f709162aeb4d466ec9 to your computer and use it in GitHub Desktop.
Exemplo de configuração de logs no Django
# Não é uma boa prática ter esse if dentro do settings mas funciona muito bem dessa forma.
if not os.path.exists(os.path.join(BASE_DIR, "logs")):
os.makedirs(os.path.join(BASE_DIR, "logs"))
LOG_DIR = BASE_DIR / "logs"
LOGGING = {
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"verbose": {
"format": "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
"datefmt": "%d/%b/%Y %H:%M:%S",
},
"simple": {"format": "%(levelname)s %(message)s"},
},
"filters": {"require_debug_false": {"()": "django.utils.log.RequireDebugFalse"}},
"handlers": {
"file_info": {
"level": "INFO",
"class": "logging.FileHandler",
"filename": LOG_DIR / "info.log",
"formatter": "verbose",
"encoding": "UTF-8",
},
"file_error": {
"level": "ERROR",
"class": "logging.FileHandler",
"filename": LOG_DIR / "error.log",
"formatter": "verbose",
"encoding": "UTF-8",
},
"file_warning": {
"level": "WARNING",
"class": "logging.FileHandler",
"filename": LOG_DIR / "warning.log",
"formatter": "verbose",
"encoding": "UTF-8",
},
"mail_admins": {
"level": "ERROR",
"class": "django.utils.log.AdminEmailHandler",
"include_html": True,
},
"console": {"level": "DEBUG", "class": "logging.StreamHandler", "formatter": "verbose"},
},
"loggers": {
"django.request": {"handlers": ["mail_admins"], "level": "ERROR", "propagate": True},
"apps": {
"handlers": ["mail_admins", "console", "file_info", "file_error", "file_warning"],
"level": "INFO",
"propagate": True,
},
},
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment