Projet

Général

Profil

Development #56139

Appeler directement le log Django des réponses dans to_json pour en définir le niveau

Ajouté par Benjamin Dauvergne il y a plus de 2 ans. Mis à jour il y a plus de 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
13 août 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Parce qu'on log déjà les 500 qu'on génère, il n'est pas nécessaire de le faire faire par Django en plus.


Fichiers


Demandes liées

Lié à Passerelle - Development #55516: logging des exceptions, avec 2.2 plus de tracebackFermé12 juillet 2021

Actions

Révisions associées

Révision 9eb682a1 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 2 ans

utils/jsonresponse: reorder exception cases to make behaviour clearer (#56139)

Révision 4b574ff0 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 2 ans

utils/jsonresponse: prevent Django from logging our 500 responses as errors (#56139)

Historique

#2

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

#3

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

Aussi on ne peut pas régler ça au niveau de settings.LOGGING (dans debian_config_common.py par exemple) pour le logger django.request parce qu'on dépend quand même de ce logger pour les traces lambda dans les autres briques ou même au niveau de passerelle en dehors de to_json.

#5

Mis à jour par Thomas Noël il y a plus de 2 ans

Benjamin Dauvergne a écrit :

Mauvais usage de log_response.

Still (le "response" est en trop au début des arguments, je pense)

#7

Mis à jour par Thomas Noël il y a plus de 2 ans

Vu le crash des tests jenkins, c'est pas encore ça... mais cette fois je ne sais pas quoi dire.

#9

Mis à jour par Thomas Noël il y a plus de 2 ans

  • Statut changé de Solution proposée à Solution validée

J'ai donc été voir le code de log_response pour comprendre que ça se termine par un response._has_been_logged = True qui fait qu'aucun autre log ne sera fait par Django. Et donc ici, on logue quand même les 500, mais en niveau "warning", et donc on évite que Django logue en niveau "error".

(malgré le commentaire ça ne m'a pas été si évident à comprendre sans lire le code de log-response)

#10

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 4b574ff0c97e2b281f398c895069e1bf7c472463
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Fri Aug 13 10:17:09 2021 +0200

    utils/jsonresponse: prevent Django from logging our 500 responses as errors (#56139)

commit 9eb682a1fb5491e11afeede35d276df52081a97d
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Fri Aug 13 10:16:05 2021 +0200

    utils/jsonresponse: reorder exception cases to make behaviour clearer (#56139)
#11

Mis à jour par Frédéric Péters il y a plus de 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF