Skip to content

Commit 6820363

Browse files
committed
Reorganized the python logging setup slightly, and added a possibility to configure logging levels for individual loggers in settings_local.py
- Legacy-Id: 17973
1 parent eeba4ea commit 6820363

3 files changed

Lines changed: 46 additions & 4 deletions

File tree

bin/commitlog

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
#!/bin/bash
2+
# -*- indent-with-tabs: 1 -*-
3+
date
24
cur=$(svn info | awk '/^Revision:/ { print $2 }')
3-
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 * /'
5+
svn log $PWD -r ${2:-HEAD}:${1:-$((cur-100))} \
6+
| sed -r 's/^(----------|r[0-9]+).*$/\n/' \
7+
| sed '/./,/^$/!d' \
8+
| sed '1,/./s/^/ * /;/^$/,/./s/^/ * /;/^ \* $/d' \
9+
| sed -e :a -e '$!N;s/\n([A-Za-z0-9])/ \\1/;ta' -e 'P;D' \
10+
| head -n -1 \
11+
| fold -sw1000 \
12+
| tac \
13+
| fold -sw76 \
14+
| sed -r 's/^([^ ].*)$/ &/' \
15+
| sed -r 's/^ \* /\n * /'
416
echo ""
517
TZ=UTC date +" -- Henrik Levkowetz <henrik@levkowetz.com> %d %b %Y %H:%M:%S %z"

ietf/settings.py

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -224,23 +224,34 @@ def skip_unreadable_post(record):
224224
#
225225
'loggers': {
226226
'django': {
227-
'handlers': ['console', 'mail_admins'],
227+
'handlers': ['debug_console', 'mail_admins'],
228228
'level': 'INFO',
229229
},
230230
'django.server': {
231231
'handlers': ['django.server'],
232232
'level': 'INFO',
233233
'propagate': False,
234234
},
235+
'oidc_provider': {
236+
'handlers': ['console', ],
237+
'level': 'DEBUG',
238+
},
235239
},
236240
#
237241
# No logger filters
238242
#
239243
'handlers': {
240244
'console': {
241-
'level': 'INFO',
245+
'level': 'DEBUG',
246+
'class': 'logging.StreamHandler',
247+
'formatter': 'plain',
248+
},
249+
'debug_console': {
250+
# Active only when DEBUG=True
251+
'level': 'DEBUG',
242252
'filters': ['require_debug_true'],
243253
'class': 'logging.StreamHandler',
254+
'formatter': 'plain',
244255
},
245256
'django.server': {
246257
'level': 'INFO',
@@ -283,10 +294,23 @@ def skip_unreadable_post(record):
283294
'django.server': {
284295
'()': 'django.utils.log.ServerFormatter',
285296
'format': '[%(server_time)s] %(message)s',
286-
}
297+
},
298+
'plain': {
299+
'style': '{',
300+
'format': '{levelname}: {name}:{lineno}: {message}',
301+
},
287302
},
288303
}
289304

305+
# This should be overridden by settings_local for any logger where debug (or
306+
# other) custom log settings are wanted. Use "ietf/manage.py showloggers -l"
307+
# to show registered loggers. The content here should match the levels above
308+
# and is shown as an example:
309+
UTILS_LOGGER_LEVELS = {
310+
'django': 'INFO',
311+
'django.server': 'INFO',
312+
}
313+
290314
# End logging
291315
# ------------------------------------------------------------------------
292316

@@ -1160,3 +1184,4 @@ def skip_unreadable_post(record):
11601184
MIDDLEWARE = MIDDLEWARE + ['django_cprofile_middleware.middleware.ProfilerMiddleware', ]
11611185
except ImportError:
11621186
pass
1187+

ietf/utils/log.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@
2222

2323
import debug # pyflakes:ignore
2424

25+
for logger, level in settings.UTILS_LOGGER_LEVELS.items():
26+
logger = logging.getLogger(logger)
27+
debug.say(" Setting %s logging level to %s" % (logger.name, level))
28+
logger.setLevel(level)
29+
2530
def getclass(frame):
2631
cls = None
2732
argnames, varargs, varkw, defaults = inspect.getargvalues(frame)

0 commit comments

Comments
 (0)