new logging logic to separate out error logs

This commit is contained in:
matthewswspence 2025-01-06 11:35:44 -06:00
parent af7561af51
commit a554c6a550
No known key found for this signature in database
GPG key ID: FB458202A7852BA4

View file

@ -486,14 +486,6 @@ class JsonServerFormatter(ServerFormatter):
log_entry = {"server_time": record.server_time, "level": record.levelname, "message": formatted_record}
return json.dumps(log_entry)
# default to json formatted logs
server_formatter, console_formatter = "json.server", "json"
# don't use json format locally, it makes logs hard to read in console
if "localhost" in env_base_url:
server_formatter, console_formatter = "django.server", "verbose"
LOGGING = {
"version": 1,
# Don't import Django's existing loggers
@ -526,23 +518,35 @@ LOGGING = {
"console": {
"level": env_log_level,
"class": "logging.StreamHandler",
"formatter": console_formatter,
"formatter": "verbose",
"filters": ["below_error"],
},
"django.server": {
"level": "INFO",
"class": "logging.StreamHandler",
"formatter": server_formatter,
"formatter": "django.server",
},
"json": {
"level": "ERROR",
"class": "logging.StreamHandler",
"formatter": "json",
},
# No file logger is configured,
# because containerized apps
# do not log to the file system.
},
"filters": {
"below_error": {
"()": "django.utils.log.CallbackFilter",
"callback": lambda record: record.levelno < logging.ERROR,
}
},
# define loggers: these are "sinks" into which
# messages are sent for processing
"loggers": {
# Django's generic logger
"django": {
"handlers": ["console"],
"handlers": ["console", "json"],
"level": "INFO",
"propagate": False,
},