如何在日志记录过滤器中访问Django请求对象

时间:2018-08-14 11:18:37

标签: python django logging

我正在尝试更新django模块: https://github.com/miohtama/django-requestlogging/blob/master/django_requestlogging/logging_filters.py

如何访问不存在的请求对象

    class RequestFilter(object):

    def __init__(self, request=None):
        self.request = request

    # @staticmethod
    def filter(self, record):
        request = self.request
        record.request_method = getattr(request, 'method', '-')
        record.path_info = getattr(request, 'path_info', '-')
        user = getattr(request, 'user', None)
        if user and not user.is_anonymous():
            record.username = user.username
        else:
            record.username = '-'
        META = getattr(request, 'META', {})
        record.remote_addr = META.get('REMOTE_ADDR', '-')
        record.server_protocol = META.get('SERVER_PROTOCOL', '-')
        record.http_user_agent = META.get('HTTP_USER_AGENT', '-')
        return True

0 个答案:

没有答案