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.
Комментариев нет:
Отправить комментарий