class RequestPushUserFilter(logging.Filter):
def filter(self, record):
if hasattr(record, 'request'):
if hasattr(record.request, 'user'):
record.user = u'%s#%s' % (record.request.user, record.request.user.pk)
else:
record.user = '?'
else:
record.user = '-'
return True
LOGGING = {
...
'filters': {
...
'request_pushuser_filter': {
'()': 'project.settings.RequestPushUserFilter',
},
},
...
'formatters': {
'standard': {
'format': "[%(asctime)s] %(levelname)s [%(name)s:%(module)s:%(lineno)s] [%(user)s] %(message)s",
'datefmt': '%d.%m.%Y %H:%M:%S',
},
},
...
'handlers': {
'logfile': {
...
'filters': ['request_pushuser_filter'],
...
'formatter': 'standard',
},
...В итоге в логах будет примерно так:[31.10.2013 00:43:20] ERROR [django.request:base:212] [Driver John#1] Internal Server Error: блабла
См. также про логгирование в файл django.
Комментариев нет:
Отправить комментарий