* refactor: always use console log handler
* refactor: json for k8s, plain otherwise
* chore: remove syslog from wsgi.py
* chore: remove debug.log()
* chore: drop syslog from settings.py
* refactor: use log.log() in person.utils
* refactor: fetch_meeting_attendance->log.log()
* chore: gunicorn logs as JSON (wip)
* feat: better json log formatting
* refactor: improve log config
* feat: gunicorn access log fields
* fix: remove type hints
The gunicorn logger plays tricks with the
LogRecord args parameter to let it have string
keys instead of being a simple tuple.
The mypy tests rightly flag this. Rather
than fighting the typing, just remove the
hints and leave a comment warning not to
use the gunicorn-specific formatter with
other loggers.
* chore: handle TERM in datatracker-start.sh
* chore: delay celery start if migration needed
* chore: skip-checks when migrating
* chore: label beat/celery as deleteBeforeUpgrade
Used by the infra-k8s deployment process to flag
these as needing to be shut down before a new
release rolls out.
* chore: increase termination grace periods
* feat: use gunicorn
* fix: let gunicorn emit logs to stdout/stderr
* fix: log to stdout/stderr in json format
* fix: run collectstatic for the local copy of the statics