Projet

Général

Profil

0003-base-add-context-method-to-ProxyLogger-35818.patch

Benjamin Dauvergne, 24 octobre 2019 23:05

Télécharger (1,56 ko)

Voir les différences:

Subject: [PATCH 3/8] base: add context method to ProxyLogger (#35818)

It copies the logger and add contextual informations to the extra dictionnary,
it overwrites keys from previous calls to context.
 passerelle/base/models.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
passerelle/base/models.py
745 745

  
746 746

  
747 747
class ProxyLogger(object):
748
    extra = None
748 749

  
749 750
    def __init__(self, connector):
750 751
        self.connector = connector
......
754 755
        self._logger = logging.getLogger(logger_name)
755 756
        self._logger.setLevel(connector.log_level)
756 757

  
758
    def context(self, **kwargs):
759
        proxy_logger_copy = copy.copy(self)
760
        proxy_logger_copy.extra = dict(self.extra or {}, **kwargs)
761
        return proxy_logger_copy
762

  
757 763
    @property
758 764
    def level(self):
759 765
        return self._logger.getEffectiveLevel()
......
795 801
            attr['appname'] = self.appname
796 802
            attr['slug'] = self.slug
797 803

  
798
            extra = kwargs.get('extra', {})
804
            extra = self.extra or {}
805
            extra.update(kwargs.get('extra', {}))
799 806
            request = extra.get('request')
800 807

  
801 808
            def is_json_serializable(value):
802
-