Reorganized the python logging setup slightly, and added a possibility to configure logging levels for individual loggers in settings_local.py

- Legacy-Id: 17973
This commit is contained in:
Henrik Levkowetz 2020-06-12 14:41:41 +00:00
parent eeba4ea992
commit 682036321d
3 changed files with 46 additions and 4 deletions

View file

@ -1,5 +1,17 @@
#!/bin/bash
# -*- indent-with-tabs: 1 -*-
date
cur=$(svn info | awk '/^Revision:/ { print $2 }')
svn log $PWD -r ${2:-HEAD}:${1:-$((cur-100))} | sed -n -e '1,/^Set version info and settings back to development mode/p' | sed -r 's/^(----------|r[0-9]+).*$/\n/' | sed '/./,/^$/!d' | sed '1,/./s/^/ * /;/^$/,/./s/^/ * /;/^ \* $/d' | sed -e :a -e '$!N;s/\n([A-Za-z0-9])/ \\1/;ta' -e 'P;D' | head -n -1 | fold -sw76 | sed -r 's/^([^ ].*)$/ &/' | sed -r 's/^ \* /\n * /'
svn log $PWD -r ${2:-HEAD}:${1:-$((cur-100))} \
| sed -r 's/^(----------|r[0-9]+).*$/\n/' \
| sed '/./,/^$/!d' \
| sed '1,/./s/^/ * /;/^$/,/./s/^/ * /;/^ \* $/d' \
| sed -e :a -e '$!N;s/\n([A-Za-z0-9])/ \\1/;ta' -e 'P;D' \
| head -n -1 \
| fold -sw1000 \
| tac \
| fold -sw76 \
| sed -r 's/^([^ ].*)$/ &/' \
| sed -r 's/^ \* /\n * /'
echo ""
TZ=UTC date +" -- Henrik Levkowetz <henrik@levkowetz.com> %d %b %Y %H:%M:%S %z"

View file

@ -224,7 +224,7 @@ LOGGING = {
#
'loggers': {
'django': {
'handlers': ['console', 'mail_admins'],
'handlers': ['debug_console', 'mail_admins'],
'level': 'INFO',
},
'django.server': {
@ -232,15 +232,26 @@ LOGGING = {
'level': 'INFO',
'propagate': False,
},
'oidc_provider': {
'handlers': ['console', ],
'level': 'DEBUG',
},
},
#
# No logger filters
#
'handlers': {
'console': {
'level': 'INFO',
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'plain',
},
'debug_console': {
# Active only when DEBUG=True
'level': 'DEBUG',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'plain',
},
'django.server': {
'level': 'INFO',
@ -283,8 +294,21 @@ LOGGING = {
'django.server': {
'()': 'django.utils.log.ServerFormatter',
'format': '[%(server_time)s] %(message)s',
}
},
'plain': {
'style': '{',
'format': '{levelname}: {name}:{lineno}: {message}',
},
},
}
# This should be overridden by settings_local for any logger where debug (or
# other) custom log settings are wanted. Use "ietf/manage.py showloggers -l"
# to show registered loggers. The content here should match the levels above
# and is shown as an example:
UTILS_LOGGER_LEVELS = {
'django': 'INFO',
'django.server': 'INFO',
}
# End logging
@ -1160,3 +1184,4 @@ if SERVER_MODE != 'production':
MIDDLEWARE = MIDDLEWARE + ['django_cprofile_middleware.middleware.ProfilerMiddleware', ]
except ImportError:
pass

View file

@ -22,6 +22,11 @@ from django.conf import settings
import debug # pyflakes:ignore
for logger, level in settings.UTILS_LOGGER_LEVELS.items():
logger = logging.getLogger(logger)
debug.say(" Setting %s logging level to %s" % (logger.name, level))
logger.setLevel(level)
def getclass(frame):
cls = None
argnames, varargs, varkw, defaults = inspect.getargvalues(frame)