Projet

Général

Profil

0004-logger-prevent-RequestContextFilter-multiple-executi.patch

Benjamin Dauvergne, 22 août 2020 23:55

Télécharger (1,86 ko)

Voir les différences:

Subject: [PATCH 4/5] logger: prevent RequestContextFilter multiple execution
 (#29149)

 debian/debian_config_common.py | 3 ++-
 hobo/logger.py                 | 4 ++++
 2 files changed, 6 insertions(+), 1 deletion(-)
debian/debian_config_common.py
90 90
            'address': '/dev/log',
91 91
            'class': 'logging.handlers.SysLogHandler',
92 92
            'formatter': 'syslog',
93
            'filters': ['request_context'],
93 94
        },
94 95
        'syslog_no_filter': {
95 96
            'level': 'INFO',
......
113 114
            'when': 'midnight',
114 115
            'backupCount': 1,
115 116
            'interval': 1,
116
            'filters': ['debug_log'],
117
            'filters': ['request_context', 'debug_log'],
117 118
        }
118 119
    },
119 120
    'loggers': {
hobo/logger.py
52 52

  
53 53
           Inspired by django-log-request-id
54 54
        '''
55
        # prevent multiple execution on the same record
56
        if getattr(record, 'request_context', False):
57
            return True
55 58

  
56 59
        # lookup request from record then StoreRequestMiddleware
57 60
        if not hasattr(record, 'request'):
......
101 104
                record.user = record.user_email = user.email
102 105
            if getattr(user, 'username', None):
103 106
                record.user = record.user_name = user.username
107
        record.request_context = True
104 108
        return True
105 109

  
106 110

  
107
-